Git での Ansible のバージョン管理

Git での Ansible のバージョン管理

Git リポジトリ、プレイブック、ホストができました。次は何をすればいいでしょうか?

GitLab で /etc/ansible フォルダーを取得する推奨方法は何ですか? リポジトリを作成することはできますが、これをいつどのようにプルすればよいですか? .git フォルダーはどうですか?

/home/user/git/ansible にコピーを保存し、それを /etc/ansible にシンボリックリンクしようとしましたが、ansible はそれを追跡できません。

これはどうすればいいでしょうか?

(git を適切に操作する方法に関する優れた資料にも興味があります)

答え1

個人的には、/etc/ansible には何も保存しません。ただし、virtualenv を使用して ansible をインストールおよび実行しているので、/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

私が常に従っているルールが 2 つあります。

  1. プレイブックを実行する前に必ず Git からプルして、最新バージョンを実行していることを確認します。
  2. プレイブックに変更を加えるときは、必ず最初にプレイブックを実行して、リポジトリにコミットする前にエラーがないことを確認します。

ansible を使用してシークレットまたは認証情報を配布する場合は、git にコミットする前に ansible-vault を使用してそれらを暗号化することもお勧めします。Git リポジトリにプレーンな資格情報を置かないでください。

このユースケースでは、.git フォルダーが存在することはまったく問題ではないと思います (/etc/ のどこかに .git フォルダーを置きたくないのだと思います)。

関連情報