AnsibleでRuby2.1をソースからインストールしてみる
AnsibleでRubyをソースからインストールしてみる。
プレイブックを作成。
※面倒なのでname:を省略してますが、ちゃんとname:を付けましょう。
$ vi ruby.yml
--- - hosts: all sudo: yes tasks: # Rubyのインストールに必要そうなものを入れておく - yum: name={{item}} state=latest with_items: - wget - gcc - gcc-c++ - make - openssl-devel - zlib-devel - readline-devel - sqlite-devel # Rubyをダウンロードして解凍してインストールする - get_url: url=ftp://core.ring.gr.jp/pub/lang/ruby/2.1/ruby-2.1.3.tar.gz dest=/usr/local/src/ - unarchive: src=/usr/local/src/ruby-2.1.3.tar.gz dest=/usr/local/src/ creates=/usr/local/src/ruby-2.1.3 - shell: > ./configure --with-opt-dir=/usr/local --enable-shared --enable-option-checking && make && make test && make install chdir=/usr/local/src/ruby-2.1.3 creates=/usr/local/bin/ruby # sudoでgemが見つからないので、/usr/local/binをパスに追加しておく - replace: > dest=/etc/sudoers regexp="^Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin$" replace="Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin"
実行。(※sudoでパスワードが必要な場合は「-K」を付けてください。)
$ ansible-playbook ruby.yml
Rubyが入った。
$ ruby -v ruby 2.1.3p242 (2014-09-19 revision 47630) [x86_64-linux]
Gemも入ってる。
$ sudo gem -v
2.2.2