Skip to content

associacao-vagalume/ansible

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 Cannot retrieve latest commit at this time.

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Automação do deploy com Ansible

Este repositório contém a automação do deploy do site da Vaga Lume feito com Ansible para um servidor rodando apache.

Existe somente um script de deploy, e o que muda é o endereço onde irá ser realizada a implantação, da sua máquina local até o servidor de produção.

Essa automação foi criada para ser usada com GoCD.

Dependências

É necessário instalar o Ansible no seu computador para utilizar as automações aqui definidas. Para isso, você pode seguir as instruções encontradas na documentação oficial.

O Ansible é um mecanismo de automação de TI que possui diversos usos:

  • gestão da configuração dos seus servidores
  • implantação automática de aplicações
  • orquestração de serviços
  • provisionamento em nuvem
  • etc

Se você quiser testar o deploy localmente, irá precisar do Docker instalado. Para isso, siga os passos definidos na documentação oficial na sua máquina.

O Docker é um jeito de criar aplicações dentro de containers, onde todas as dependências já estão instaladas na imagem. Nós criamos uma imagem com o apache já instalado, assim não é necessário instalá-lo na sua máquina.

Como fazer o deploy localmente

Fizemos uma imagem de docker com apache e ssh justamente para fazer esse deploy localmente. Ela está definida em associacao-vagalume/apache-rsync e pode ser encontrada no Docker Hub.

Preparação:

  1. Baixe a imagem de docker

     docker pull pevangelista/apache-rsycn
    
  2. Crie um par de chaves ssh, caso não tenha

     ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    
  3. Adicione a seguinte linha no seu arquivo de hosts:

    127.0.0.1 development

  4. Tenha o conteúdo do site localizado em ../_site

  5. Garanta que o site possua o arquivo ../_site/VERSAO.txt

Para fazer o deploy localmente, siga os seguintes passos:

  1. Crie um container de docker temporário

     docker run --rm -d \
       -p 8080:80 -p 2222:22 \
       -e SSH_PUBKEY="$(cat ~/.ssh/id_rsa.pub)" \
       --name development pevangelista/apache-rsync
    
  2. Execute o playbook ansible, onde <VERSAO> é o conteúdo do arquivo ../_site/VERSAO.txt

     GO_PIPELINE_LABEL=<VERSAO> ansible-playbook playbook_deploy.yml
    
  3. Acesse o site em http://development:8080

Servidores / Inventories

Este repositório define os seguintes servidores:

  • development - Um servidor local com acesso ssh na porta 2222 e usuário ssh_user
  • acceptance - O servidor que está disponível na pipeline do Go, acessível na porta padrão com usuário ssh_user
  • staging - O servidor de staging da Vaga Lume, com a configuração protegida por senha
  • production - O servidor de produção da Vaga Lume, com a configuracão protegida por senha.

Para ter acesso a staging e produção, será necessário configurar o acesso por meio de chave diretamente.

Se nenhum inventory for definido, o ansible irá utilizar development por padrão. Para escolher outro inventory, execute o comando acima adicionando a opção -i inventory_<ambiente>.

About

Playbooks para realizar implantação do site

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages