Skip to content

bitmaqs/aws-ci-pipeline

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projeto Integrador III

Pipeline de entrega continua de infraestrutura na AWS.

Repositório da disciplina projeto integrador III.

O projeto consiste na criação de um pipeline de entrega contínua de infraestrututra na aws baseando-se na metodologia the twelve-factor App (12 fatores).

  • Neste repositorio conterá os arquivos e procedimentos necessários para criar um pipeline de entrega continua de uma aplicação e sua infraestrutura utilizando as tecnologias Github, Jenkins, Terraform, Ansible, Shell Script, Docker, Docker-compose e Amazon Web Services.

  • Listagem de diretórios e arquivos:

    • Ansible - Arquivos e procedimentos para a gestão de configuração do ambiente.
    • Docker - Arquivos e procedimentos para deploy da aplicação com docker e docker-compose.
    • Terraform - Arquivos e procedimentos para deploy da infraestrutura na AWS (infra as code).
    • Jenkinsfile - Arquivo que contém a definição do pipeline Jenkins.
    • teste.sh - Arquivo em Shell Script reponsável por realizar testes no ambiente e na aplicação.
  • Procedimeto para configuração do ambiente

Criando ACCESS_KEY na AWS

Configurando o Jenkins

  • Após a instalação do servidor jenkins será necessários fazer alguns ajustes. Para que o jenkins acesse a aws é necessário salvar o access_key, secret_key e region em um arquivo chamado provider.tf, também é preciso salvar essas informaçções em váriavel e depois exportar-la para todo sistema operacional do servidor jenkins.

  • Faça acesso ssh a maquina do jenkins e crie o arquivo provider.tf no diretorio /var/lib/jenkins/workspace/diretorio_projeto

  • Depois exporte as variaveis.

  • Arquivo provider.tf

      provider "aws" {
      	access_key = "my_access_key"
      	secret_key = "my_secret_key"
      	region     = "my_region"
      }
    
  • Variveis

    • export aws_acces_key=my_access_key
    • export aws_region=my_region
    • export aws_secret_key=my_secret_key
  • Instale os seguintes plugins no jenkins

    • Amazon web services sdk
    • Ansible plugin
    • Blue ocean (visualização do pipeline)
    • Git plugin
    • Terraform plugin
    • Ansible

O projeto original pode ser encontrado em https://github.com/projeto3/EC2-Docker-Xibo Esta versão foi adaptada para atender os requisitos de uma nova aplicação na pipeline, para isso foi necessário:

  • Refatorar alguns arquivos de configuração do terraform para versão 0.12;
  • Adaptar a aplicação para docker containers;
  • Adaptar os playbooks do ansible;
  • Algumas modificações no Jenkinsfile.

O projeto ainda está em andamento, e mais features serão adicionadas em breve.

About

12FactorApp-based pipeline.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published