tehtbl.bootstrap
角色描述
为您的 Debian 和 Ubuntu 系统准备 Ansible。
示例剧本
此示例取自 molecule/default/converge.yml
,在每次推送、拉取请求和发布时进行测试。
---
- name: Converge
hosts: all
become: true
gather_facts: false
roles:
- role: tehtbl.bootstrap
您运行此剧本的机器可能需要进行准备,我使用此剧本确保一切就绪以使角色正常工作。
---
- name: Prepare
hosts: all
become: true
gather_facts: false
角色变量
这些变量在 defaults/main.yml
中设置:
---
# ------------------------------------------------------------------------
# bootstrap 的默认文件
# ------------------------------------------------------------------------
# 连接到机器使用的用户。
bootstrap_user: root
# 安装的软件以支持标记为 “预览” 的模块(例如 mysql_db)。
# “yes”、“no” 或未设置都有效。
bootstrap_preview: true
# 您希望等待主机可用吗?
bootstrap_wait_for_host: false
# 在连接测试失败之前希望等待的秒数。
bootstrap_timeout: 3
# 安装期间的重试次数
bootstrap_retries: 3
需求
- 访问包含软件包的存储库,通常是在互联网上。
- 一个较新的 Ansible 版本。(测试在当前版本、之前版本和下一个版本的 Ansible 上进行。)
背景
此角色是多个兼容角色的一部分。查看 我的其他角色 以获取更多信息。
兼容性
此角色已在以下 Docker 镜像上测试:
容器 | 标签 | 允许失败 |
---|---|---|
debian | stable | no |
debian | testing | no |
debian | unstable | yes |
ubuntu | xenial | yes |
ubuntu | bionic | no |
ubuntu | focal | no |
ubuntu | devel | yes |
此角色已在以下 Ansible 版本上测试:
- ansible>=2.8, <2.9
- ansible>=2.9
- git+https://github.com/ansible/ansible.git@devel
使用 Tox 测试
单元测试 在每次提交、拉取请求、发布和定期进行。
如果您发现问题,请在 GitHub 上注册。
Tox 测试多个 Ansible 版本。Molecule 测试多个发行版。
要使用默认值进行测试(任何安装的 Ansible 版本,命名空间:tehtbl
,镜像:ubuntu
,标签:latest
):
molecule test
# 或选择特定镜像:
IMAGE="ubuntu" molecule test
# 或选择特定镜像和特定标签:
IMAGE="debian" TAG="stable" tox
或者您可以测试多个版本的 Ansible,并选择正确的镜像:
Tox 允许测试多个版本的 Ansible。要运行默认测试(命名空间:tehtbl
,镜像:ubuntu
,标签:latest
):
tox
# 运行 Ubuntu(命名空间:`tehtbl`,标签:`latest`)
IMAGE="ubuntu" tox
# 或进行更多自定义:
IMAGE="debian" TAG="stable" tox -e py37-ansible-current
使用 Vagrant 测试
通过以下命令安装 vagrant
插件:
vagrant plugin install vagrant-reload
通过 VirtualBox 提供程序开始测试:
vagrant up
许可证
MIT 许可证
作者信息
来源
此工作基于许多人的伟大工作,例如 Robert de Bock、Jeff Geerling 和 Thomas Waldmann。谢谢!