Ansible で git clone させる

  • 109
    いいね
  • 0
    コメント

git clone する playbook を作成する

git モジュールの使い方の詳細は公式ドキュメントを参照ください。
例は次です。

some_playbook.yml
- git: repo=git@github.com:seizans/ansible-tut.git
  dest=/path/to/dir version=master accept_hostkey=yes

accept_hostkey=yes は、.ssh/configStrictHostKeyChecking no を指定するのと同じです。

ssh 関連を設定して実行する

Gitリポジトリへの ssh鍵はサーバーに置かず、ローカルのものを使います。
ここでは ~/.ssh/id_rsa を使います。
そのために、ansible-playbook がサーバーに ssh する際に、ForwardAgent=yes するようにします。
ansible.cfg を準備すればよいです。

ansible.cfg
[ssh_connection]
ssh_args = -o ForwardAgent=yes

ローカルの ssh鍵をサーバーに forward して使うために ssh-add してから playbook を実行します。

$ ssh-add
$ ansible-playbook -i your_inventory_file your_playbook.yml

参考

書籍: 初めてのAnsible が素晴らしく、今回の話もすべて含まれていて、より詳しく書かれています。