У меня есть репозиторий 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
Есть два правила, которым я всегда следую:
- Каждый раз перед запуском сценария я извлекаю его из Git, чтобы убедиться, что у меня установлена последняя версия.
- Всякий раз, когда я вношу изменения в плейбук, я всегда сначала запускаю их, чтобы убедиться в отсутствии ошибок, прежде чем вносить изменения в репозиторий.
Если вы используете ansible для распространения секретов или учетных данных, вам также следует использовать ansible-vault для их шифрования перед фиксацией в git.НЕ помещайте какие-либо простые учетные данные в репозиторий git.
Полагаю, в этом случае наличие папки .git вообще не является проблемой (полагаю, вы не хотели иметь папку .git где-то в /etc/).