Skip to content

buluma/ansible-role-ruby_gems

Ansible role ruby_gems

Ruby Gems installation for Linux.

GitHub Version Issues Pull Requests Downloads
github Version Issues PullRequests Ansible Role

This example is taken from molecule/default/converge.yml and is tested on each push, pull request and release.

---
- name: Converge
  hosts: all
  become: true

  vars:
    ruby_install_gems_user: root
    ruby_install_gems:
      - json
    ruby_gems_bin_path: /root/.gem/ruby/bin

  pre_tasks:
    - name: Update apt cache.
      apt: update_cache=true cache_valid_time=600
      when: ansible_os_family == 'Debian'

    - name: Add rubygems bin dir to system-wide $PATH.
      ansible.builtin.copy:
        dest: /etc/profile.d/ruby.sh
        content: 'PATH=$PATH:{{ ruby_gems_bin_path }}'
        mode: 0644

    - name: Don't install Bundler on CentOS 7 because of old Ruby version.
      ansible.builtin.set_fact:
        ruby_install_bundler: false
      when:
        - ansible_os_family == 'RedHat'
        - ansible_distribution_major_version == '7'

  roles:
    - role: buluma.bootstrap
    - role: buluma.ruby_gems

  post_tasks:
    - name: Verify Ruby is installed.
      command: ruby --version
      changed_when: false

Also see a full explanation and example on how to use these roles.

The default values for the variables are set in defaults/main.yml:

---
workspace: /root

# Whether this role should install Bundler.
ruby_install_bundler: true

# A list of Ruby gems to install.
ruby_install_gems: []

# The user account under which Ruby gems will be installed.
ruby_install_gems_user: "{{ ansible_user }}"

# If set to True, ruby will be installed from source, using the version set with
# the 'ruby_version' variable instead of using a package.
ruby_install_from_source: true
# TODO: Testing True
ruby_download_url: http://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.0.tar.gz
ruby_version: "3.0.0"
ruby_source_configure_command: ./configure --enable-shared

# Default should usually work, but this will be overridden on Ubuntu 14.04.
ruby_rubygems_package_name: rubygems

The following roles are used to prepare a system. You can prepare your system in another way.

Requirement GitHub Version
buluma.bootstrap Ansible Molecule Version

This role is a part of many compatible roles. Have a look at the documentation of these roles for further information.

Here is an overview of related roles:

dependencies

This role has been tested on these container images:

container tags
EL all
Ubuntu bionic, focal, jammy
Debian all

The minimum version of Ansible required is 2.4, tests have been done to:

  • The previous version.
  • The current version.
  • The development version.

If you find issues, please register them in GitHub

Role History

Apache-2.0

Shadow Walker