近頃は各々個人所有のPCを使ってチーム開発を行っているため、
たまに環境依存の問題が起きてめんどくさい。
そのためVagrantで仮想化してAnsibleを使って環境構築させることにした。
なおOSはCentOS6.5です。
ひとまずRubyのインストールをさせてみました。
playbook.yml
---
- hosts: hosuto
sudo: yes
tasks:
- name: ruby no install ni hitsuyou na rpm wo install shimasu
yum: name={{item}} state=latest
with_items:
- gcc
- zlib-devel
- openssl-devel
- sqlite
- sqlite-devel
- mysql-devel
- libffi-devel
- name: ruby no source file wo download shimasu
get_url: >
url=http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.6.tar.gz
dest=/tmp/ruby-2.1.6.tar.gz
- name: assyuku sareteiru ruby no sourcekaitou shimasu
command: >
tar xvzf ruby-2.1.6.tar.gz
chdir=/tmp/
- name: ruby configure shimasu
command: >
./configure
chdir=/tmp/ruby-2.1.6/
- name: ruby make shimasu
command: >
make
chdir=/tmp/ruby-2.1.6/
- name: ruby make install shimasu
command: >
make install
chdir=/tmp/ruby-2.1.6/
ruby --versionでちゃんと該当のRubyインストールできてるのが確認できた。
重複しているファイル名などは変数を使ってまとめて指定したほうが良いかもしれない。
あとcommand使う以外でもっときれいなやり方がありそう。
改善点ご存知の方は、コメントで指摘いただけると喜びます。
追記
2015/6/21: ソースからよりもrbenvでインストールした方が良いのとコメントをいただいたので、rbenvでインストールするエントリも書きました。
-> AnsibleからRubyをバージョン指定してインストールするだけのPlaybook(rbenv版)