本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

该GitHub Action允许在GitHub Actions工作流中运行Molecule以测试Ansible角色。Molecule是Ansible的测试框架,可自动化角色的创建、配置、验证等测试流程。此Action提供了灵活的配置选项,支持自定义测试命令、参数和工作目录,适用于Ansible角色的持续集成和自动化测试。
描述:Molecule命令的选项参数。
必填:否
选项说明:
--debug / --no-debug:启用或禁用调试模式,默认禁用。-v, --verbose:增加Ansible详细级别,默认0(x≥0)。-c, --base-config TEXT:基础配置文件路径(可多次指定)。Molecule会先按指定顺序加载并深度合并配置,再合并每个场景的molecule.yml。默认查找当前版本控制仓库中的.config/molecule/config.yml,若未找到则查找用户主目录(无默认值)。-e, --env-file TEXT:渲染molecule.yml时读取变量的文件,默认.env.yml。--version:显示版本信息。--help:显示帮助信息并退出。描述:要执行的Molecule命令。
必填:是
默认值:test
命令说明:
check:使用配置器执行空运行(销毁、依赖、创建、准备、配置)。cleanup:使用配置器清理测试阶段对外部系统的更改。converge:使用配置器配置实例(依赖、创建、准备、配置)。create:使用配置器启动实例。dependency:管理角色依赖。destroy:使用配置器销毁实例。drivers:列出驱动程序。idempotence:使用配置器配置实例并解析输出以确定幂等性。init:初始化新角色或场景。lint:检查角色代码规范(依赖、lint)。list:列出实例状态。login:登录到一个实例。matrix:列出测试实例使用的步骤矩阵。prepare:使用配置器将实例准备到特定初始状态。reset:重置Molecule临时文件夹。side-effect:使用配置器对实例执行副作用操作。syntax:使用配置器检查角色语法。test:完整测试流程(依赖、lint、清理、销毁、语法检查、创建、准备、配置、幂等性、副作用、验证、清理、销毁)。verify:对实例运行自动化测试。描述:Molecule命令的参数。
必填:否
参数说明:
-s, --scenario-name TEXT:目标场景名称,默认default。-d, --driver-name [delegated|docker]:使用的驱动名称,默认delegated。--all / --no-all:测试所有场景,默认False。--destroy [always|never]:Molecule运行结束时的销毁策略,默认always。--parallel / --no-parallel:启用或禁用并行模式,默认禁用。描述:仓库中执行Molecule命令的目录路径。适用于Ansible角色不在仓库根目录的情况。
必填:否
默认值:${GITHUB_REPOSITORY}
--scenario-name指定不同场景(如不同操作系统),确保角色在多种环境中兼容。molecule_command选择特定测试阶段(如仅检查语法、仅验证幂等性)。molecule_working_dir指定角色所在目录,支持非根目录的角色测试。在仓库的.github/workflows/目录下创建main.yml(或自定义名称),配置如下:
on: push jobs: molecule: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: path: "${{ github.repository }}" - uses: gofrolist/molecule-action@v2
注意:默认情况下,Molecule会在
molecule/*/molecule.yml查找配置。若未指定molecule-working-dir,checkout操作需将文件放置在${{ github.repository }}目录,以便Molecule找到角色。若角色位于仓库其他位置,需设置molecule-working-dir,确保执行molecule命令前切换到该目录。
name: Molecule on: push: branches: - master pull_request: branches: - master jobs: molecule: runs-on: ubuntu-latest strategy: fail-fast: false matrix: scenario: - centos-8 - debian-10 - fedora-34 - oraclelinux-8 - ubuntu-20.04 steps: - name: Checkout uses: actions/checkout@v2 with: path: "${{ github.repository }}" - name: Molecule uses: gofrolist/molecule-action@v2 with: molecule_options: --debug --base-config molecule/_shared/base.yml molecule_command: test molecule_args: --scenario-name ${{ matrix.scenario }}
提示:建议使用
gofrolist/molecule-action@v2或其他有效标签、分支、提交SHA代替v2,以固定Action版本。
若角色需要特定Python模块(如netaddr),可在Molecule的prepare阶段安装:
--- - name: Prepare hosts: all tasks: - name: 在控制主机(虚拟环境)上安装netaddr依赖 pip: name: netaddr delegate_to: 127.0.0.1
本项目中的Dockerfile、相关脚本和文档以MIT许可证发布。


免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429