Версионирование Ansible на Git

Версионирование Ansible на Git

У меня есть репозиторий git, у меня есть плейбуки и хосты. Что теперь?

Какой рекомендуемый способ получить мою папку /etc/ansible на моем GitLab? Я могу просто создать репозиторий, но как и когда мне это вытащить? Что насчет папок .git?

Я попытался сохранить копию в /home/user/git/ansible и создать символическую ссылку на /etc/ansible, но ansible не может ее отследить.

Как это сделать?

(Мне также интересно почитать что-нибудь полезное о том, как правильно работать с git)

решение1

Лично я ничего не храню в /etc/ansible. Но я устанавливаю и запускаю ansible с помощью virtualenv, поэтому /etc/ansible никогда не существовало для меня.

Вам определенно стоит посмотретьофициальная рекомендуемая раскладка, но моя минимальная иерархия ansible выглядит следующим образом:

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

Я клонирую репозиторий в /home/victor/git/ansible и добавляю следующие строки в свой bashrc, чтобы задать пути ansible по умолчанию:

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

Есть два правила, которым я всегда следую:

  1. Каждый раз перед запуском сценария я извлекаю его из Git, чтобы убедиться, что у меня установлена ​​последняя версия.
  2. Всякий раз, когда я вношу изменения в плейбук, я всегда сначала запускаю их, чтобы убедиться в отсутствии ошибок, прежде чем вносить изменения в репозиторий.

Если вы используете ansible для распространения секретов или учетных данных, вам также следует использовать ansible-vault для их шифрования перед фиксацией в git.НЕ помещайте какие-либо простые учетные данные в репозиторий git.

Полагаю, в этом случае наличие папки .git вообще не является проблемой (полагаю, вы не хотели иметь папку .git где-то в /etc/).

Связанный контент