58 lines
1.4 KiB
YAML
58 lines
1.4 KiB
YAML
---
|
|
- name: Clone rbenv
|
|
git:
|
|
repo: "https://github.com/rbenv/rbenv.git"
|
|
dest: "~/.rbenv"
|
|
clone: true
|
|
version: "{{ rbenv_version }}"
|
|
|
|
- name: Clone ruby-build
|
|
git:
|
|
repo: "https://github.com/rbenv/ruby-build.git"
|
|
dest: "~/.rbenv/plugins/ruby-build"
|
|
clone: true
|
|
version: "{{ ruby_build_version }}"
|
|
register: ruby_build
|
|
|
|
- name: Configure rbenv
|
|
command: ./configure
|
|
args:
|
|
chdir: "~/.rbenv/src"
|
|
register: rbenv_configure
|
|
|
|
- name: Build rbenv
|
|
command: make
|
|
args:
|
|
chdir: "~/.rbenv/src"
|
|
when: rbenv_configure is succeeded
|
|
|
|
- name: Update profile settings
|
|
copy:
|
|
dest: "~/.bashrc"
|
|
content: |
|
|
export PATH="~/.rbenv/bin:${PATH}"
|
|
eval "$(rbenv init -)"
|
|
|
|
- name: Check if the Ruby version is already installed
|
|
shell: "~/.rbenv/bin/rbenv versions | grep -q {{ ruby_version }}"
|
|
register: ruby_installed
|
|
ignore_errors: yes
|
|
check_mode: no
|
|
|
|
- name: Install Ruby {{ ruby_version }}
|
|
shell: "~/.rbenv/bin/rbenv install {{ ruby_version }}"
|
|
args:
|
|
executable: /bin/bash
|
|
when: ruby_installed is failed
|
|
|
|
- name: Set the default Ruby version to {{ ruby_version }}
|
|
shell: "~/.rbenv/bin/rbenv global {{ ruby_version }}"
|
|
args:
|
|
executable: /bin/bash
|
|
register: default_ruby_version
|
|
|
|
- name: Install bundler
|
|
shell: 'export PATH="$HOME/.rbenv/bin:$PATH"; eval "$(rbenv init -)"; gem install bundler:{{ bundler_version }}'
|
|
args:
|
|
executable: /bin/bash
|
|
when: default_ruby_version is succeeded
|