Ansible Advent Calendar 2013 の 15日目です。

Ansible。便利ですね。
この記事で利用している Ansible のバージョンは 1.4.4 になります。

私の場合は自分の vimrc を github で管理しているので、
Ansibleを使って新しい環境の中でgit cloneして環境を作る playbook を作っておけば、
新しくサーバが増えてアカウントを作ることになっても簡単にできるようになると思い、playbook の作成にとりかかりました。

しかし、実際にやってみると useradd で作ったばかりのユーザーだと
github.com が、ssh の known_hosts に登録されていないので確認ダイアログがでてしまい、
うまく clone することができません。
一旦許可してしまえば問題ないのですが、Ansible上から許可する方法がわからずもやもやしながらぐぐったところ、 Ansible の方で known_hosts を追加するモジュールがあったので紹介します。

ansible-known_hosts

上のリポジトリから known_hosts というモジュールをダウンロードして、playbook と同じディレクトリに置きます。そしたら、


  tasks:
    - name: Ensure github is in the known_hosts file
      known_hosts: host=github.com state=present

    - name: checkout vimrc
      git: [email protected]:ha1t/vimrc.git dest="/home/{{login_user}}/src/vimrc"

のような感じで指定して上げればOKです。

サーバアカウントをもらったあと、自分の環境を作る作業って必ずあると思うのでがんばって Ansible 覚えて自動化しておくのオススメです。

One thought on “Ansibleでknown_hostsを追加してgithub reposをcloneする

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

ねこ認証:9つのパネルの中からねこを3匹選んでください