Merge pull request #85 from wunzeco/master

[OI] Ensure installed rubies and gems are owned correctly by rvm1_user
This commit is contained in:
Paul Montero
2016-04-06 10:17:48 -05:00
2 changed files with 18 additions and 6 deletions

View File

@@ -9,7 +9,7 @@ before_install:
- '__rvm_unload ; rm -rf ~/.rvm' - '__rvm_unload ; rm -rf ~/.rvm'
install: install:
- 'pip install ansible==1.7.1' - 'pip install ansible==2.0.0'
- 'printf "[defaults]\nroles_path = ../" > ansible.cfg' - 'printf "[defaults]\nroles_path = ../" > ansible.cfg'
script: script:

View File

@@ -5,13 +5,13 @@
changed_when: False changed_when: False
failed_when: False failed_when: False
register: detect_rubies register: detect_rubies
with_items: rvm1_rubies with_items: '{{ rvm1_rubies }}'
when: rvm1_rubies when: rvm1_rubies
- name: Install rubies - name: Install rubies
command: '{{ rvm1_rvm }} install {{ item.item }} {{ rvm1_ruby_install_flags }}' command: '{{ rvm1_rvm }} install {{ item.item }} {{ rvm1_ruby_install_flags }}'
when: rvm1_rubies and item.rc|default(0) != 0 when: rvm1_rubies and item.rc|default(0) != 0
with_items: detect_rubies.results with_items: '{{ detect_rubies.results }}'
become: yes become: yes
become_user: '{{ rvm1_user }}' become_user: '{{ rvm1_user }}'
@@ -19,19 +19,25 @@
command: '{{ rvm1_rvm }} alias list default' command: '{{ rvm1_rvm }} alias list default'
changed_when: False changed_when: False
register: detect_default_ruby_version register: detect_default_ruby_version
become: yes
become_user: '{{ rvm1_user }}'
- name: Select default ruby - name: Select default ruby
command: '{{ rvm1_rvm }} alias create default {{ rvm1_default_ruby_version }}' command: '{{ rvm1_rvm }} alias create default {{ rvm1_default_ruby_version }}'
when: detect_default_ruby_version.stdout|default() == '' or when: detect_default_ruby_version.stdout|default() == '' or
rvm1_default_ruby_version not in detect_default_ruby_version.stdout rvm1_default_ruby_version not in detect_default_ruby_version.stdout
become: yes
become_user: '{{ rvm1_user }}'
- name: Detect installed ruby patch number - name: Detect installed ruby patch number
shell: > shell: >
{{ rvm1_rvm }} list strings | grep {{ item }} | tail -n 1 {{ rvm1_rvm }} list strings | grep {{ item }} | tail -n 1
with_items: rvm1_rubies with_items: '{{ rvm1_rubies }}'
changed_when: False changed_when: False
register: ruby_patch register: ruby_patch
always_run: yes # Run even when in --check mode (http://docs.ansible.com/ansible/playbooks_checkmode.html) always_run: yes # Run even when in --check mode (http://docs.ansible.com/ansible/playbooks_checkmode.html)
become: yes
become_user: '{{ rvm1_user }}'
- name: Install bundler if not installed - name: Install bundler if not installed
shell: > shell: >
@@ -39,9 +45,11 @@
| if ! grep "^bundler " ; then {{ rvm1_install_path }}/wrappers/{{ item.stdout }}/gem install bundler ; fi | if ! grep "^bundler " ; then {{ rvm1_install_path }}/wrappers/{{ item.stdout }}/gem install bundler ; fi
args: args:
creates: '{{ rvm1_install_path }}/wrappers/{{ item.stdout }}/bundler' creates: '{{ rvm1_install_path }}/wrappers/{{ item.stdout }}/bundler'
with_items: ruby_patch.results with_items: '{{ ruby_patch.results }}'
register: bundler_install register: bundler_install
changed_when: '"Successfully installed bundler" in bundler_install.stdout' changed_when: '"Successfully installed bundler" in bundler_install.stdout'
become: yes
become_user: '{{ rvm1_user }}'
- name: Symlink ruby related binaries on the system path - name: Symlink ruby related binaries on the system path
file: file:
@@ -51,7 +59,7 @@
owner: 'root' owner: 'root'
group: 'root' group: 'root'
when: not '--user-install' in rvm1_install_flags when: not '--user-install' in rvm1_install_flags
with_items: rvm1_symlink_binaries with_items: '{{ rvm1_symlink_binaries }}'
- name: Detect if ruby version can be deleted - name: Detect if ruby version can be deleted
command: '{{ rvm1_rvm }} {{ rvm1_delete_ruby }} do true' command: '{{ rvm1_rvm }} {{ rvm1_delete_ruby }} do true'
@@ -59,8 +67,12 @@
failed_when: False failed_when: False
register: detect_delete_ruby register: detect_delete_ruby
when: rvm1_delete_ruby when: rvm1_delete_ruby
become: yes
become_user: '{{ rvm1_user }}'
- name: Delete ruby version - name: Delete ruby version
command: '{{ rvm1_rvm }} remove {{ rvm1_delete_ruby }}' command: '{{ rvm1_rvm }} remove {{ rvm1_delete_ruby }}'
changed_when: False changed_when: False
when: rvm1_delete_ruby and detect_delete_ruby.rc == 0 when: rvm1_delete_ruby and detect_delete_ruby.rc == 0
become: yes
become_user: '{{ rvm1_user }}'