Ansibleを少し触ってみたが、Chefとは違ってクライアントプログラムのインストールが不要で、ファイル・ディレクトリ構成が小規模で自由度が高いので、ローカル環境の管理に向いていると思う。
ついでに言うと、接続先をローカルとするオプションも存在する。
インストール
pipを使ってAnsibleをインストールする。
virtualenvなどを使えば仮想的な実行環境を作れるらしいが、今回はシステムワイドにインストールする。
sudo apt-get install python-pip
sudo pip install ansible
Playbook
インベントリファイルでホスト変数にansible_connection=local
を設定して、ローカルに接続するように設定する。
localhost
127.0.0.1 ansible_connection=local
とりあえずapt-get
でgit
をインストールしてみる。
site.yml
---
- hosts: 127.0.0.1
user: itiut
tasks:
- name: "apt-get install git"
apt: pkg=git
sudo: yes
実行
オプション-i
でインベントリファイルを指定し、オプション-K
もしくは--ask-sudo-pass
でsudo
のパスワードを要求するようにする。
ansible-playbook site.yml -i localhost -K