構成管理ツールであるAnsibleとテストツールであるansible_specを使うための初期設定手順になります。
各ツールの細かい使い方などは公式をご覧ください。
ansible_specについては、volanjaさんが同じくテストツールであるServespecを
ansibleのインベントリとroleを使って管理できるように作成されたものです。
①必要なパッケージをインストール
以下のコマンドで、ざらっとインストールをします。
最後にansibleが入ったか確認するためにバージョンを表示してみます。
[user@host]$ sudo yum install git gcc make openssl-devel libffi-devel readline-devel epel-release.noarch
[user@host]$ sudo yum install ansible
[user@host]$ ansible --version
ansible 2.2.1.0
config file = /etc/ansible/ansible.cfg
configured module search path = Default w/o overrides
②ansibleからのログインユーザーを作成
ansibleはエージェントレスでsshによるコマンド実行で処理をしていきます。
そのためのユーザーは何でもいいですが、ここでは"ansible"とします。
ユーザを作成して公開鍵を設定したらログイン確認まで行います。
[user@host]$ ssh-keygen -t rsa
[user@host]$ sudo useradd ansible
[user@host]$ sudo sh -c "cat .ssh/id_rsa.pub > ~ansible/.ssh/authorized_keys"
[user@host]$ sudo diff ~/.ssh/id_rsa.pub ~ansible/.ssh/authorized_keys
[user@host]$ sudo chown ansible.ansible -R ~ansible/.ssh/
[user@host]$ ssh ansible@localhost
:
Are you sure you want to continue connecting (yes/no)? yes
:
[ansible@host]$ exit
③rubyインストール
以下のコマンドでインストールします。
インストールできたか確認するためバージョンを表示してみます。
[user@host]$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
[user@host]$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
[user@host]$ vi ~/.bashrc
:
# User specific aliases and functions
PATH=$PATH:$HOME/bin
export PATH
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
[user@host]$ source .bashrc
[user@host]$ rbenv versions
* system (set by /home/user/.rbenv/version)
[user@host]$ rbenv install 2.3.0 ※ちょっと時間かかることもある
[user@host]$ rbenv versions
* system (set by /home/user/.rbenv/version)
2.3.0
[user@BIND-test ~]$ rbenv versions
* system (set by /home/user/.rbenv/version)
2.3.0
[user@BIND-test ~]$ rbenv rehash
[user@BIND-test ~]$ rbenv versions
* system (set by /home/user/.rbenv/version)
2.3.0
[user@BIND-test ~]$ rbenv global 2.3.0
[user@BIND-test ~]$ rbenv versions
system
* 2.3.0 (set by /home/user/.rbenv/version)
⑤ansible_specインストール
以下のコマンドでインストールします。
インストールできたら".ansiblespec"というファイルができている
$ gem install bundler
$ gem list bundler
*** LOCAL GEMS ***
bundler (1.14.4)
$ mkdir sample_playbook
$ cd sample_playbook
$ rbenv exec bundle install --path vendor/bundle
$ ~/.rbenv/bin/rbenv exec bundle exec ansiblespec-init
$ cat .ansiblespec
---
-
playbook: site.yml
inventory: hosts
あとはansibleを通常通り使うときと同じようにplaybookを書きながら
role/commonとかの中にspecというフォルダを作成して、その中にxxxx_spec.rbを作ればOKです。
playbook書くのが面倒という方は、Google先生に"ansible playbook sample"とかで探せるので自己責任でどうぞ。
参考
http://qiita.com/KisaragiZin/items/5682370f5b63b398dbb1
http://qiita.com/volanja/items/5e97432d6b231dbb31c1
http://takatoshiono.hatenablog.com/entry/2015/01/09/012040
http://dev.classmethod.jp/tool/rbenv-too-slow/
http://docs.ansible.com/ansible/index.html