Назад | Перейти на главную страницу

Ответственное управление версиями на git

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

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

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

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

(Мне также интересно прочитать несколько хороших статей о том, как правильно работать с git)

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

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

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

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

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

Я всегда следую двум правилам:

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

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

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