Change facts back to variables
This commit is contained in:
24
README.md
24
README.md
@@ -51,38 +51,34 @@ rvm1_rvm_stable_version_number: 'https://raw.githubusercontent.com/wayneeseguin/
|
||||
rvm1_rvm_force_upgrade_installer: false
|
||||
```
|
||||
|
||||
## Facts
|
||||
## Exposed variables
|
||||
|
||||
You will likely want to use various ruby related commands in other roles. This role exposes a number of popular paths and variables as persisted facts.
|
||||
You will likely want to use various ruby related commands in other roles. This role exposes a number of popular paths and variables that you can use.
|
||||
|
||||
Since the values are saved to `/etc/ansible/facts.d/rvm1.fact` you do not need to run this role every time you invoke your play book to have access to the facts. They will be persisted between play book runs.
|
||||
|
||||
- `default_ruby_version`
|
||||
- `rvm1_default_ruby_version`
|
||||
- The default ruby version that is selected
|
||||
|
||||
- `rvm`
|
||||
- `rvm1_rvm`
|
||||
- The path to the rvm binary
|
||||
|
||||
- `default_wrappers`:
|
||||
- `rvm1_default_wrappers`:
|
||||
- The path containing all of the wrapped ruby related binaries
|
||||
|
||||
- `ruby`
|
||||
- `rvm1_ruby`
|
||||
- The path to the ruby binary
|
||||
|
||||
- `gem`
|
||||
- `rvm1_gem`
|
||||
- The path to the gem binary
|
||||
|
||||
- `bundle`
|
||||
- `rvm1_bundle`
|
||||
- The path to the bundle binary
|
||||
|
||||
- `rake`
|
||||
- `rvm1_rake`
|
||||
- The path to the rake binary with bundle exec already applied
|
||||
|
||||
### Example
|
||||
|
||||
You can access them in any play or role by prepending `ansible_local` to the value.
|
||||
|
||||
If you wanted to run a database migration in rails you would use `{{ ansible_local.rvm1.rake }} db:migrate`.
|
||||
If you wanted to run a database migration in rails you would use `{{ rvm1.rake }} db:migrate`.
|
||||
|
||||
## Upgrading and removing old versions of ruby
|
||||
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
- name: ensure /etc/ansible/facts.d is created
|
||||
file: path='/etc/ansible/facts.d' state='directory'
|
||||
|
||||
- name: ensure facts are persisted in /etc/ansible/facts.d/rvm1.fact
|
||||
template: src='etc/ansible/facts.d/rvm1.fact.j2' dest='/etc/ansible/facts.d/rvm1.fact'
|
||||
@@ -1,4 +1,3 @@
|
||||
---
|
||||
- include: 'facts.yml'
|
||||
- include: 'rvm.yml'
|
||||
- include: 'rubies.yml'
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
- name: detect if rubies are installed
|
||||
command: '{{ ansible_local.rvm1.rvm }} {{ item }} do true'
|
||||
command: '{{ rvm1 }} {{ item }} do true'
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
register: detect_rubies
|
||||
@@ -8,30 +8,30 @@
|
||||
when: rvm1_rubies
|
||||
|
||||
- name: ensure rubies are installed
|
||||
command: '{{ ansible_local.rvm1.rvm }} install {{ item.item }}'
|
||||
command: '{{ rvm1 }} install {{ item.item }}'
|
||||
when: rvm1_rubies and item.rc != 0
|
||||
with_items: detect_rubies.results
|
||||
|
||||
- name: detect default ruby version
|
||||
command: '{{ ansible_local.rvm1.rvm }} alias list default'
|
||||
command: '{{ rvm1 }} alias list default'
|
||||
changed_when: false
|
||||
register: detect_default_ruby_version
|
||||
|
||||
- name: ensure default ruby is selected
|
||||
command: '{{ ansible_local.rvm1.rvm }} alias create default {{ ansible_local.rvm1.default_ruby_version }}'
|
||||
when: detect_default_ruby_version.stdout == '' or ansible_local.rvm1.default_ruby_version not in detect_default_ruby_version.stdout
|
||||
command: '{{ rvm1 }} alias create default {{ rvm1_default_ruby_version }}'
|
||||
when: detect_default_ruby_version.stdout == '' or rvm1_default_ruby_version not in detect_default_ruby_version.stdout
|
||||
|
||||
- name: ensure rvm install path is writable by the set owner:group
|
||||
file: path='{{ rvm1_install_path }}' state=directory recurse=yes owner='{{ rvm1_user }}' group='{{ rvm1_group }}'
|
||||
|
||||
- name: detect if ruby version can be deleted
|
||||
command: '{{ ansible_local.rvm1.rvm }} {{ rvm1_delete_ruby }} do true'
|
||||
command: '{{ rvm1 }} {{ rvm1_delete_ruby }} do true'
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
register: detect_delete_ruby
|
||||
when: rvm1_delete_ruby
|
||||
|
||||
- name: ensure ruby version is deleted
|
||||
command: '{{ ansible_local.rvm1.rvm }} remove {{ rvm1_delete_ruby }}'
|
||||
command: '{{ rvm1 }} remove {{ rvm1_delete_ruby }}'
|
||||
changed_when: false
|
||||
when: rvm1_delete_ruby and detect_delete_ruby.rc == 0
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
- name: detect rvm binary
|
||||
stat: path='{{ ansible_local.rvm1.rvm }}'
|
||||
stat: path='{{ rvm1 }}'
|
||||
register: rvm_binary
|
||||
|
||||
- name: detect rvm installer
|
||||
@@ -8,7 +8,7 @@
|
||||
register: rvm_installer
|
||||
|
||||
- name: detect current rvm version
|
||||
command: '{{ ansible_local.rvm1.rvm }} version'
|
||||
command: '{{ rvm1 }} version'
|
||||
changed_when: false
|
||||
register: rvm_current_version
|
||||
when: rvm_binary.stat.exists
|
||||
@@ -39,9 +39,9 @@
|
||||
when: not rvm_binary.stat.exists
|
||||
|
||||
- name: ensure rvm is upgraded
|
||||
shell: '{{ ansible_local.rvm1.rvm }} get stable && {{ ansible_local.rvm1.rvm }} reload'
|
||||
shell: '{{ rvm1 }} get stable && {{ rvm1 }} reload'
|
||||
when: rvm_binary.stat.exists and rvm_stable_version_number.content | default(rvm1_rvm_stable_version_number) | replace('\n', '') > rvm_current_version.stdout.split()[1]
|
||||
|
||||
- name: ensure rvm installs ruby dependencies
|
||||
command: '{{ ansible_local.rvm1.rvm }} autolibs 3'
|
||||
command: '{{ rvm1 }} autolibs 3'
|
||||
when: not rvm_binary.stat.exists
|
||||
@@ -14,6 +14,3 @@
|
||||
|
||||
roles:
|
||||
- ansible-ruby
|
||||
|
||||
post_tasks:
|
||||
- debug: var=ansible_local.rvm1
|
||||
@@ -1,11 +1,8 @@
|
||||
---
|
||||
rvm1_default_ruby_version: '{{ rvm1_rubies | last if rvm1_rubies and rvm1_rubies is iterable else "" }}'
|
||||
rvm1_rvm: '{{ rvm1_install_path }}/bin/rvm'
|
||||
rvm1_default_wrappers: '{{ rvm1_install_path }}/wrappers/default'
|
||||
rvm1_ruby: '{{ rvm1_default_wrappers }}/ruby'
|
||||
rvm1_gem: '{{ rvm1_default_wrappers }}/gem'
|
||||
rvm1_bundle: '{{ rvm1_default_wrappers }}/bundle'
|
||||
rvm1_facts: |
|
||||
default_ruby_version='{{ rvm1_rubies | last if rvm1_rubies and rvm1_rubies is iterable else "" }}'
|
||||
rvm='{{ rvm1_install_path }}/bin/rvm'
|
||||
default_wrappers= '{{ rvm1_default_wrappers }}'
|
||||
ruby='{{ rvm1_default_wrappers }}/ruby'
|
||||
gem='{{ rvm1_default_wrappers }}/gem'
|
||||
bundle='{{ rvm1_bundle }}'
|
||||
rake='{{ rvm1_bundle }} exec {{ rvm1_default_wrappers }}/rake'
|
||||
rvm1_rake: '{{ rvm1_bundle }} exec {{ rvm1_default_wrappers }}/rake'
|
||||
Reference in New Issue
Block a user