rbenv: conventions

This commit is contained in:
Jérémy Lecour 2017-01-05 18:20:23 +01:00 committed by Jérémy Lecour
parent 936697a765
commit c87595088a
1 changed files with 26 additions and 35 deletions

View File

@ -2,22 +2,21 @@
- name: Rbenv dependencies are installed - name: Rbenv dependencies are installed
apt: apt:
pkg: '{{ item }}' name: '{{ item }}'
install_recommends: no
state: present state: present
with_items: with_items:
- build-essential - build-essential
- git - git
- libcurl4-openssl-dev - libcurl4-openssl-dev
- libffi-dev - libffi-dev
- libreadline-dev - libreadline-dev
- libssl-dev - libssl-dev
- libxml2-dev - libxml2-dev
- libxslt1-dev - libxslt1-dev
- zlib1g-dev - zlib1g-dev
tags: tags:
- rbenv - rbenv
- packages - packages
- name: Rbenv repository is checked out for {{ username }} - name: Rbenv repository is checked out for {{ username }}
git: git:
@ -27,18 +26,16 @@
accept_hostkey: yes accept_hostkey: yes
force: yes force: yes
become_user: "{{ username }}" become_user: "{{ username }}"
ignore_errors: yes
tags: tags:
- rbenv - rbenv
- name: plugins directory for {{ username }} - name: plugins directory for {{ username }}
file: file:
path: '{{ rbenv_root }}/plugins' path: '{{ rbenv_root }}/plugins'
state: directory state: directory
become_user: "{{ username }}" become_user: "{{ username }}"
ignore_errors: yes
tags: tags:
- rbenv - rbenv
- name: plugins are installed for {{ username }} - name: plugins are installed for {{ username }}
git: git:
@ -48,71 +45,65 @@
accept_hostkey: yes accept_hostkey: yes
force: yes force: yes
with_items: with_items:
- "{{ rbenv_plugins }}" - "{{ rbenv_plugins }}"
become_user: "{{ username }}" become_user: "{{ username }}"
ignore_errors: yes
tags: tags:
- rbenv - rbenv
- name: Rbenv is initialized in profile for {{ username }} - name: Rbenv is initialized in profile for {{ username }}
become_user: "{{ username }}"
blockinfile: blockinfile:
dest: '~{{ username }}/.profile' dest: '~{{ username }}/.profile'
block: | block: |
export PATH="{{ rbenv_root }}/bin:$PATH" export PATH="{{ rbenv_root }}/bin:$PATH"
eval "$(rbenv init -)" eval "$(rbenv init -)"
marker: "# {mark} ANSIBLE MANAGED RBENV INIT" marker: "# {mark} ANSIBLE MANAGED RBENV INIT"
become_user: "{{ username }}"
- name: default gems are installed for {{ username }} - name: default gems are installed for {{ username }}
copy: copy:
src: default-gems src: default-gems
dest: '{{ rbenv_root }}/default-gems' dest: '{{ rbenv_root }}/default-gems'
become_user: "{{ username }}" become_user: "{{ username }}"
ignore_errors: yes
tags: tags:
- rbenv - rbenv
- name: gemrc for {{ username }} - name: gemrc for {{ username }}
copy: copy:
src: gemrc src: gemrc
dest: ~/.gemrc dest: ~/.gemrc
become_user: "{{ username }}" become_user: "{{ username }}"
ignore_errors: yes
tags: tags:
- rbenv - rbenv
- name: is Ruby {{ rbenv_ruby_version }} available for {{ username }} ? - name: is Ruby {{ rbenv_ruby_version }} available for {{ username }} ?
shell: /bin/bash -lc "rbenv versions | grep {{ rbenv_ruby_version }}" shell: /bin/bash -lc "rbenv versions | grep {{ rbenv_ruby_version }}"
become_user: "{{ username }}" become_user: "{{ username }}"
failed_when: False
changed_when: False
register: ruby_installed register: ruby_installed
changed_when: false
ignore_errors: yes
always_run: yes always_run: yes
tags: tags:
- rbenv - rbenv
- name: Ruby {{ rbenv_ruby_version }} is available for {{ username }} (be patient... could be long) - 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 }}" shell: /bin/bash -lc "TMPDIR=~/tmp rbenv install {{ rbenv_ruby_version }}"
become_user: "{{ username }}" become_user: "{{ username }}"
when: ruby_installed.rc != 0 when: ruby_installed.rc != 0
ignore_errors: yes
tags: tags:
- rbenv - rbenv
- name: is Ruby {{ rbenv_ruby_version }} selected for {{ username }} ? - name: is Ruby {{ rbenv_ruby_version }} selected for {{ username }} ?
shell: /bin/bash -lc "rbenv version | cut -d ' ' -f 1 | grep -Fx '{{ rbenv_ruby_version }}'" shell: /bin/bash -lc "rbenv version | cut -d ' ' -f 1 | grep -Fx '{{ rbenv_ruby_version }}'"
become_user: "{{ username }}" become_user: "{{ username }}"
register: ruby_selected register: ruby_selected
changed_when: false changed_when: False
ignore_errors: yes
always_run: yes always_run: yes
tags: tags:
- rbenv - rbenv
- name: select Ruby {{ rbenv_ruby_version }} for {{ username }} - name: select Ruby {{ rbenv_ruby_version }} for {{ username }}
shell: /bin/bash -lc "rbenv global {{ rbenv_ruby_version }} && rbenv rehash" shell: /bin/bash -lc "rbenv global {{ rbenv_ruby_version }} && rbenv rehash"
become_user: "{{ username }}" become_user: "{{ username }}"
when: ruby_selected.rc != 0 when: ruby_selected.rc != 0
ignore_errors: yes
tags: tags:
- rbenv - rbenv