rbenv: group tasks in a block with become
This commit is contained in:
parent
33ba77daa2
commit
0382d47fbd
|
@ -18,91 +18,69 @@
|
||||||
- rbenv
|
- rbenv
|
||||||
- packages
|
- packages
|
||||||
|
|
||||||
- name: Rbenv repository is checked out for {{ username }}
|
- block:
|
||||||
git:
|
- name: Rbenv repository is checked out for {{ username }}
|
||||||
repo: '{{ rbenv_repo }}'
|
git:
|
||||||
dest: '{{ rbenv_root }}'
|
repo: '{{ rbenv_repo }}'
|
||||||
version: '{{ rbenv_version }}'
|
dest: '{{ rbenv_root }}'
|
||||||
accept_hostkey: yes
|
version: '{{ rbenv_version }}'
|
||||||
force: yes
|
accept_hostkey: yes
|
||||||
|
force: yes
|
||||||
|
|
||||||
|
- name: plugins directory for {{ username }}
|
||||||
|
file:
|
||||||
|
path: '{{ rbenv_root }}/plugins'
|
||||||
|
state: directory
|
||||||
|
|
||||||
|
- name: plugins are installed for {{ username }}
|
||||||
|
git:
|
||||||
|
repo: '{{ item.repo }}'
|
||||||
|
dest: '{{ rbenv_root }}/plugins/{{ item.name }}'
|
||||||
|
version: '{{ item.version }}'
|
||||||
|
accept_hostkey: yes
|
||||||
|
force: yes
|
||||||
|
with_items:
|
||||||
|
- "{{ rbenv_plugins }}"
|
||||||
|
|
||||||
|
- name: Rbenv is initialized in profile for {{ username }}
|
||||||
|
blockinfile:
|
||||||
|
dest: '~{{ username }}/.profile'
|
||||||
|
block: |
|
||||||
|
export PATH="{{ rbenv_root }}/bin:$PATH"
|
||||||
|
eval "$(rbenv init -)"
|
||||||
|
marker: "# {mark} ANSIBLE MANAGED RBENV INIT"
|
||||||
|
|
||||||
|
- name: default gems are installed for {{ username }}
|
||||||
|
copy:
|
||||||
|
src: default-gems
|
||||||
|
dest: '{{ rbenv_root }}/default-gems'
|
||||||
|
|
||||||
|
- name: gemrc for {{ username }}
|
||||||
|
copy:
|
||||||
|
src: gemrc
|
||||||
|
dest: ~/.gemrc
|
||||||
|
|
||||||
|
- name: is Ruby {{ rbenv_ruby_version }} available for {{ username }} ?
|
||||||
|
shell: /bin/bash -lc "rbenv versions | grep {{ rbenv_ruby_version }}"
|
||||||
|
failed_when: False
|
||||||
|
changed_when: False
|
||||||
|
register: ruby_installed
|
||||||
|
|
||||||
|
- name: Ruby {{ rbenv_ruby_version }} is available for {{ username }} (be patient... could be long)
|
||||||
|
shell: /bin/bash -lc "TMPDIR=~/tmp rbenv install {{ rbenv_ruby_version }}"
|
||||||
|
when: ruby_installed.rc != 0
|
||||||
|
|
||||||
|
- name: is Ruby {{ rbenv_ruby_version }} selected for {{ username }} ?
|
||||||
|
shell: /bin/bash -lc "rbenv version | cut -d ' ' -f 1 | grep -Fx '{{ rbenv_ruby_version }}'"
|
||||||
|
register: ruby_selected
|
||||||
|
changed_when: False
|
||||||
|
failed_when: False
|
||||||
|
|
||||||
|
- name: select Ruby {{ rbenv_ruby_version }} for {{ username }}
|
||||||
|
shell: /bin/bash -lc "rbenv global {{ rbenv_ruby_version }} && rbenv rehash"
|
||||||
|
when: ruby_selected.rc != 0
|
||||||
|
|
||||||
become_user: "{{ username }}"
|
become_user: "{{ username }}"
|
||||||
tags:
|
become: yes
|
||||||
- rbenv
|
|
||||||
|
|
||||||
- name: plugins directory for {{ username }}
|
|
||||||
file:
|
|
||||||
path: '{{ rbenv_root }}/plugins'
|
|
||||||
state: directory
|
|
||||||
become_user: "{{ username }}"
|
|
||||||
tags:
|
|
||||||
- rbenv
|
|
||||||
|
|
||||||
- name: plugins are installed for {{ username }}
|
|
||||||
git:
|
|
||||||
repo: '{{ item.repo }}'
|
|
||||||
dest: '{{ rbenv_root }}/plugins/{{ item.name }}'
|
|
||||||
version: '{{ item.version }}'
|
|
||||||
accept_hostkey: yes
|
|
||||||
force: yes
|
|
||||||
with_items:
|
|
||||||
- "{{ rbenv_plugins }}"
|
|
||||||
become_user: "{{ username }}"
|
|
||||||
tags:
|
|
||||||
- rbenv
|
|
||||||
|
|
||||||
- name: Rbenv is initialized in profile for {{ username }}
|
|
||||||
blockinfile:
|
|
||||||
dest: '~{{ username }}/.profile'
|
|
||||||
block: |
|
|
||||||
export PATH="{{ rbenv_root }}/bin:$PATH"
|
|
||||||
eval "$(rbenv init -)"
|
|
||||||
marker: "# {mark} ANSIBLE MANAGED RBENV INIT"
|
|
||||||
become_user: "{{ username }}"
|
|
||||||
|
|
||||||
- name: default gems are installed for {{ username }}
|
|
||||||
copy:
|
|
||||||
src: default-gems
|
|
||||||
dest: '{{ rbenv_root }}/default-gems'
|
|
||||||
become_user: "{{ username }}"
|
|
||||||
tags:
|
|
||||||
- rbenv
|
|
||||||
|
|
||||||
- name: gemrc for {{ username }}
|
|
||||||
copy:
|
|
||||||
src: gemrc
|
|
||||||
dest: ~/.gemrc
|
|
||||||
become_user: "{{ username }}"
|
|
||||||
tags:
|
|
||||||
- rbenv
|
|
||||||
|
|
||||||
- name: is Ruby {{ rbenv_ruby_version }} available for {{ username }} ?
|
|
||||||
shell: /bin/bash -lc "rbenv versions | grep {{ rbenv_ruby_version }}"
|
|
||||||
become_user: "{{ username }}"
|
|
||||||
failed_when: False
|
|
||||||
changed_when: False
|
|
||||||
register: ruby_installed
|
|
||||||
tags:
|
|
||||||
- rbenv
|
|
||||||
|
|
||||||
- name: Ruby {{ rbenv_ruby_version }} is available for {{ username }} (be patient... could be long)
|
|
||||||
shell: /bin/bash -lc "TMPDIR=~/tmp rbenv install {{ rbenv_ruby_version }}"
|
|
||||||
become_user: "{{ username }}"
|
|
||||||
when: ruby_installed.rc != 0
|
|
||||||
tags:
|
|
||||||
- rbenv
|
|
||||||
|
|
||||||
- name: is Ruby {{ rbenv_ruby_version }} selected for {{ username }} ?
|
|
||||||
shell: /bin/bash -lc "rbenv version | cut -d ' ' -f 1 | grep -Fx '{{ rbenv_ruby_version }}'"
|
|
||||||
become_user: "{{ username }}"
|
|
||||||
register: ruby_selected
|
|
||||||
changed_when: False
|
|
||||||
failed_when: False
|
|
||||||
tags:
|
|
||||||
- rbenv
|
|
||||||
|
|
||||||
- name: select Ruby {{ rbenv_ruby_version }} for {{ username }}
|
|
||||||
shell: /bin/bash -lc "rbenv global {{ rbenv_ruby_version }} && rbenv rehash"
|
|
||||||
become_user: "{{ username }}"
|
|
||||||
when: ruby_selected.rc != 0
|
|
||||||
tags:
|
tags:
|
||||||
- rbenv
|
- rbenv
|
||||||
|
|
Loading…
Reference in a new issue