robertdebock.image_builder

镜像构建器

允许您的系统使用 Lorax,镜像构建器。

Travis GitHub 质量 下载 版本
travis github 质量 下载 版本

示例剧本

此示例来源于 molecule/resources/converge.yml,并在每次推送、拉取请求和发布时进行测试。

---
- name: converge
  hosts: all
  become: yes
  gather_facts: yes

  roles:
    - role: robertdebock.image_builder

可能需要使用 molecule/resources/prepare.yml 准备机器:

---
- name: prepare
  hosts: all
  become: yes
  gather_facts: no

  roles:
    - role: robertdebock.bootstrap

为了验证,角色应用后会运行 molecule/resources/verify.yml

---
- name: Verify
  hosts: all
  become: yes
  gather_facts: no

  tasks:
    - name: check if connection still works
      ping:

关于如何使用这些角色,请参见完整说明和示例

角色变量

这些变量在 defaults/main.yml 中设置:

---
# image_builder 的默认文件

image_builder_product: blueprint-name
image_builder_description: 我的第一个蓝图
image_builder_version: 0.0.1

image_builder_installed_packages:
  - name: screen
    version: "4.*"
  - name: lsof
    version: "*"

# 请使用以下值之一:alibaba, ami, ext4-filesystem, google, live-iso,
# openstack, partitioned-disk, qcow2, tar, vhd 或 vmdk
image_builder_type: tar

需求

  • 访问包含软件包的仓库,可能在互联网。
  • 需要最新版本的 Ansible。(测试在当前、先前和下一个版本的 Ansible 上进行。)

可以安装以下角色以确保满足所有要求,使用 ansible-galaxy install -r requirements.yml

---
- robertdebock.bootstrap

上下文

此角色是多个兼容角色的一部分。有关更多信息,请查看这些角色的文档

以下是相关角色的概述: 依赖关系

兼容性

此角色已在以下容器镜像上进行测试:

容器 标签
el 7, 8
fedora 所有

所需的最小 Ansible 版本为 2.9,已进行测试以验证:

  • 先前版本。
  • 当前版本。
  • 开发版本。

测试

单元测试在每次提交、拉取请求、发布和定期进行。

如果您发现问题,请在GitHub中报告。

测试使用ToxMolecule进行:

Tox 测试多个 Ansible 版本。 Molecule 测试多个发行版。

要使用默认值进行测试(任何已安装的 Ansible 版本,命名空间:robertdebock,镜像:fedora,标签:latest):

molecule test

# 或选择特定镜像:
image=ubuntu molecule test
# 或选择特定镜像和特定标签:
image="debian" tag="stable" tox

或者您可以测试多个版本的 Ansible,并选择镜像: Tox 允许测试多个版本的 Ansible。要运行默认测试(命名空间:robertdebock,镜像:fedora,标签:latest):

tox

# 要运行 CentOS(命名空间:`robertdebock`,标签:`latest`)
image="centos" tox
# 或自定义更多:
image="debian" tag="stable" tox

许可

Apache-2.0

作者信息

Robert de Bock

请考虑赞助我

关于项目

Allow your system to use Lorax, the image builder.

安装
ansible-galaxy install robertdebock.image_builder
许可证
apache-2.0
下载
94
拥有者
I know my way around (Linux) infrastructure, have a passion for automation, Docker, Ansible, Molecule and ci/cd.