63 lines
1.3 KiB
YAML
63 lines
1.3 KiB
YAML
|
---
|
||
|
- name: Install packages required to build ruby (RedHat).
|
||
|
yum: "name={{ item }} state=present"
|
||
|
with_items:
|
||
|
- '@development'
|
||
|
- zlib-devel
|
||
|
- openssl-static
|
||
|
when: ansible_os_family == 'RedHat'
|
||
|
|
||
|
- name: Update apt cache (Debian).
|
||
|
apt: update_cache=yes cache_valid_time=86400
|
||
|
when: ansible_os_family == 'Debian'
|
||
|
|
||
|
- name: Install packages required to build ruby (Debian).
|
||
|
apt: "name={{ item }} state=present"
|
||
|
with_items:
|
||
|
- build-essential
|
||
|
- zlib1g-dev
|
||
|
- libssl-dev
|
||
|
- libyaml-dev
|
||
|
- libreadline6-dev
|
||
|
- zlib1g-dev
|
||
|
- libncurses5-dev
|
||
|
- libffi-dev
|
||
|
- libgdbm3
|
||
|
- libgdbm-dev
|
||
|
when: ansible_os_family == 'Debian'
|
||
|
|
||
|
- name: Download ruby.
|
||
|
get_url:
|
||
|
url: "{{ ruby_download_url }}"
|
||
|
dest: "{{ workspace }}/ruby-{{ ruby_version }}.tar.gz"
|
||
|
|
||
|
- name: Extract ruby.
|
||
|
unarchive:
|
||
|
src: "{{ workspace }}/ruby-{{ ruby_version }}.tar.gz"
|
||
|
dest: "{{ workspace }}/"
|
||
|
copy: no
|
||
|
|
||
|
- name: Build ruby.
|
||
|
command: >
|
||
|
{{ item }}
|
||
|
chdir={{ workspace }}/ruby-{{ ruby_version }}
|
||
|
creates=/usr/local/bin/ruby
|
||
|
with_items:
|
||
|
- ./configure --enable-shared
|
||
|
- make
|
||
|
- make install
|
||
|
|
||
|
- name: Add ruby symlinks.
|
||
|
file:
|
||
|
src: "/usr/local/bin/{{ item }}"
|
||
|
dest: "/usr/bin/{{ item }}"
|
||
|
state: link
|
||
|
force: yes
|
||
|
with_items:
|
||
|
- erb
|
||
|
- gem
|
||
|
- irb
|
||
|
- rake
|
||
|
- rdoc
|
||
|
- ruby
|