ansible-roles/rbenv/tasks/main.yml
Alexis Ben Miloud--Josselin bbf6ce6f6e
All checks were successful
Ansible Lint |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |2634|7|2627|6|:-1: Reference build: <a href="https://jenkins.evolix.org/job/gitea/job/ansible-roles/job/unstable/373//ansiblelint">Evolix » ansible-roles » unstable #373</a>
gitea/ansible-roles/pipeline/head This commit looks good
rbenv: Installer libyaml-dev
Le paquet est nécessaire en Debian 12.
2023-10-12 17:49:00 +02:00

131 lines
3.2 KiB
YAML

---
- name: "Rbenv dependencies are installed"
ansible.builtin.apt:
name:
- build-essential
- git
- libcurl4-openssl-dev
- libffi-dev
- libreadline-dev
- libssl-dev
- libxml2-dev
- libxslt1-dev
- zlib1g-dev
- pkg-config
- libyaml-dev
state: present
tags:
- rbenv
- packages
- name: "gemrc for {{ username }}"
ansible.builtin.copy:
src: gemrc
dest: "~{{ username }}/.gemrc"
owner: '{{ username }}'
group: '{{ username }}'
tags:
- rbenv
- name: "Rbenv repository is checked out for {{ username }}"
ansible.builtin.git:
repo: '{{ rbenv_repo }}'
dest: '{{ rbenv_root }}'
version: '{{ rbenv_version }}'
accept_hostkey: yes
force: true
become_user: "{{ username }}"
become: true
tags:
- rbenv
- name: "default gems are installed for {{ username }}"
ansible.builtin.lineinfile:
dest: '{{ rbenv_root }}/default-gems'
line: "{{ item }}"
owner: '{{ username }}'
group: '{{ username }}'
create: yes
loop: '{{ rbenv_default_gems }}'
become_user: "{{ username }}"
become: true
tags:
- rbenv
- name: "plugins directory for {{ username }}"
ansible.builtin.file:
path: '{{ rbenv_root }}/plugins'
state: directory
become_user: "{{ username }}"
become: true
tags:
- rbenv
- name: "plugins are installed for {{ username }}"
ansible.builtin.git:
repo: '{{ item.repo }}'
dest: '{{ rbenv_root }}/plugins/{{ item.name }}'
version: '{{ item.version }}'
accept_hostkey: yes
force: true
loop: "{{ rbenv_plugins }}"
become_user: "{{ username }}"
become: true
tags:
- rbenv
- name: "Rbenv is initialized in profile for {{ username }}"
ansible.builtin.blockinfile:
dest: '~{{ username }}/.profile'
marker: "# {mark} ANSIBLE MANAGED RBENV INIT"
block: |
export PATH="{{ rbenv_root }}/bin:$PATH"
eval "$(rbenv init -)"
become_user: "{{ username }}"
become: true
tags:
- rbenv
- name: "is Ruby {{ rbenv_ruby_version }} available for {{ username }} ?"
ansible.builtin.shell:
cmd: /bin/bash -lc "rbenv versions | grep {{ rbenv_ruby_version }}"
failed_when: False
changed_when: False
check_mode: False
register: ruby_installed
become_user: "{{ username }}"
become: true
tags:
- rbenv
- name: "Ruby {{ rbenv_ruby_version }} is available for {{ username }} (be patient... could be long)"
ansible.builtin.shell:
cmd: /bin/bash -lc "TMPDIR=~/tmp rbenv install {{ rbenv_ruby_version }}"
when: ruby_installed.rc != 0
become_user: "{{ username }}"
become: true
tags:
- rbenv
- name: "is Ruby {{ rbenv_ruby_version }} selected for {{ username }} ?"
ansible.builtin.shell:
cmd: /bin/bash -lc "rbenv version | cut -d ' ' -f 1 | grep -Fx '{{ rbenv_ruby_version }}'"
register: ruby_selected
changed_when: False
failed_when: False
check_mode: False
become_user: "{{ username }}"
become: true
tags:
- rbenv
- name: "select Ruby {{ rbenv_ruby_version }} for {{ username }}"
ansible.builtin.shell:
cmd: /bin/bash -lc "rbenv global {{ rbenv_ruby_version }} && rbenv rehash"
when: ruby_selected.rc != 0
become_user: "{{ username }}"
become: true
tags:
- rbenv