Eu tenho um projeto utilizando ansible para realizar o deploy de uma aplicação Django com PostgreSQL e Ningix utilizando docker, eu estou trabalhando com o conceito de roles para melhor organizar as estapas, o arquivo main.yaml com as etapas está assim configurado:
main.yaml: ```
hosts: all remote_user: root become: yes roles:
Instalando Gunicorn
- gunicorn_install
Instalando o nginx
- nginx_install
Configurando o servidor para acesso remoto
- configure_server
Clonar o projeto
- checkout_project
=====================
Instalação com Docker
=====================
Instalando o docker
- docker_install
Instalando o docker swarm
- docker_swarm_install
Fazendo o deploy da aplicação com docker-compose
- deploy_with_docker
Atualmente somos em três desenvolvedores, e preciso que todos possam disparar o processo de atualização da máquina, ou seja o deploy da aplicação.
Em duas máquinas funcionam corretamente, entretanto numa terceira máquina quando chega no checkout "trava" o processo e não sai dele.
O arquivo de hosts está assim:
[all] ...
[all:vars] project_deploy_name="NOME_DO_PROJETO" ansible_user=root app_name=app app_user=app app_debug=True gunicorn_app_name=app github_owner="DONO_REPOSITORIO" github_repo="{{ project_deploy_name }}" github_token="TOKEN_DO_GITHUB" ssh_key_path="~/.ssh/ssh_deploy_key"
Já a role do checkout está assim configurada:
- name: checkout project git: repo: "{{ project_repo }}" dest: "{{ project_path }}" key_file: "{{ ssh_key_path }}" accept_hostkey: true