Controle de versão Ansible no git

Controle de versão Ansible no git

Eu tenho um repositório git, meus manuais e hosts. O que agora?

Qual é a maneira recomendada de obter minha pasta /etc/ansible no meu GitLab? Posso simplesmente criar o repositório, mas como e quando faço isso? E as pastas .git?

Tentei manter uma cópia em /home/user/git/ansible e criar um link simbólico para /etc/ansible, mas o ansible não consegue seguir isso.

Como isso deve ser feito?

(Também estou interessado em algumas boas leituras sobre como trabalhar corretamente com o git)

Responder1

Pessoalmente, não armazeno nada em /etc/ansible. Mas eu instalo e executo o ansible usando um virtualenv, então /etc/ansible nunca esteve lá para mim.

Você definitivamente deveria olhar para olayout oficial recomendado, mas minha hierarquia ansible mínima é a seguinte:

inventories
    hosts
    vars
roles
    role1
    role2
    ....
ansible.cfg
site.yml

Eu clonei o repositório para /home/victor/git/ansible e coloquei essas linhas em meu bashrc para definir os caminhos ansible padrão:

export ANSIBLE_INVENTORY=/home/victor/git/ansible/inventories/hosts
export ANSIBLE_CONFIG=/home/victor/git/ansible/ansible.cfg

Existem duas regras que sempre sigo:

  1. Sempre que executo um playbook, eu uso o git para ter certeza de que estou executando a versão mais recente.
  2. Sempre que faço uma alteração no playbook, eu sempre os executo primeiro para ter certeza de que não há erros antes de enviar para o repositório.

Se você estiver usando o ansible para distribuir segredos ou credenciais, você também deseja usar o ansible-vault para criptografá-los antes de se comprometer com o git.NÃO coloque nenhuma credencial simples em um repositório git.

Suponho que neste caso de uso ter uma pasta .git não seja um problema (acho que você não queria uma pasta .git em algum lugar em/etc/).

informação relacionada