buluma.ruby_gems
Ansible 角色 ruby_gems
用于 Linux 的 Ruby Gems 安装。
GitHub | 版本 | 问题 | 拉取请求 | 下载 |
---|---|---|---|---|
示例剧本
这个示例取自 molecule/default/converge.yml
,在每次推送、拉取请求和发布时都进行了测试。
---
- name: 收敛
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: 更新 apt 缓存。
apt: update_cache=true cache_valid_time=600
when: ansible_os_family == 'Debian'
- name: 将 rubygems 二进制目录添加到系统的 $PATH 中。
ansible.builtin.copy:
dest: /etc/profile.d/ruby.sh
content: 'PATH=$PATH:{{ ruby_gems_bin_path }}'
mode: 0644
- name: 不在 CentOS 7 上安装 Bundler,因为 Ruby 版本较旧。
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: 验证 Ruby 是否已安装。
command: ruby --version
changed_when: false
还可以查看 完整解释和示例,了解如何使用这些角色。
角色变量
变量的默认值定义在 defaults/main.yml
中:
---
workspace: /root
# 是否应安装 Bundler。
ruby_install_bundler: true
# 要安装的 Ruby gems 列表。
ruby_install_gems: []
# 安装 Ruby gems 的用户账户。
ruby_install_gems_user: "{{ ansible_user }}"
# 如果设为 True,则从源代码安装 Ruby,使用 'ruby_version' 变量设定的版本,而不是使用包。
ruby_install_from_source: true
# TODO: 测试 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
# 默认值通常适用,但在 Ubuntu 14.04 上会被覆盖。
ruby_rubygems_package_name: rubygems
要求
- 在 requirements.txt 中列出的 pip 包。
使用的角色状态
以下角色用于准备系统。您可以选择其他方式来准备您的系统。
要求 | GitHub | 版本 |
---|---|---|
buluma.bootstrap |
上下文
这个角色是许多兼容角色的一部分。欲了解更多信息,请查看 这些角色的文档。
以下是相关角色概览:
兼容性
此角色已在以下 容器镜像 上进行测试:
容器 | 标签 |
---|---|
EL | 全部 |
Ubuntu | bionic, focal, jammy |
Debian | 全部 |
所需的最低 Ansible 版本为 2.4,测试已在:
- 前一个版本上。
- 当前版本上。
- 开发版本上。
如果您发现问题,请在 GitHub 上举报。