LoginSignup
4
4

More than 5 years have passed since last update.

AnsibleからRubyをバージョン指定してインストールするだけのPlaybook

Last updated at Posted at 2015-06-04

近頃は各々個人所有の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版)

4
4
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4