
该GitHub Action允许使用Ansible集合结构运行Molecule,用于AVD(Arista Validated Design)代码验证。此外,支持在Molecule执行后检查Git状态,以跟踪意外文件变更,且可强制执行变更检查并在检测到变更时生成失败结果。
| 参数名 | 描述 | 是否必填 | 默认值 |
|---|---|---|---|
| molecule_parentdir | molecule文件夹的相对路径 | 否 | - |
| molecule_options | Molecule选项,支持: - --debug/--no-debug:启用/禁用调试模式 - -c/--base-config:基础配置文件路径 - -e/--env-file:环境变量文件(.env.yml) - --version:显示版本 - --help:显示帮助 | 否 | - |
| molecule_command | Molecule命令,支持:check、cleanup、converge、create、dependency、destroy、idempotence、init、lint、list、login、matrix、prepare、side-effect、syntax、test、verify | 是 | 'test' |
| molecule_args | Molecule参数,支持: - --scenario-name:指定场景 - --driver-name:指定驱动 - --all:所有场景 - --destroy=always:始终销毁实例 | 否 | - |
| pip_file | 从${GITHUB_REPOSITORY}开始的相对路径,用于安装运行Molecule前的Python依赖 | 否 | - |
| ansible | 要安装的Ansible包,支持pip语法指定版本 | 否 | 'ansible' |
| galaxy_file | 从${GITHUB_REPOSITORY}开始的相对路径,用于安装Ansible Galaxy依赖 | 否 | '' |
| check_git | Molecule执行后检查Git状态,跟踪两次提交间的意外变更 | 否 | - |
| check_git_enforced | 设为true时,退出码基于Git状态(有变更则失败) | 否 | - |
适用于在GitHub Actions工作流中对AVD项目进行Molecule测试,确保Ansible角色/集合的质量和一致性,尤其适合需要自动化验证代码变更的CI/CD流程。
在仓库的.github/workflows/目录下创建main.yml(或自定义名称):
yamlon: push jobs: molecule: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v2 - name: Run molecule action uses: arista-netdevops-community/action-molecule-avd@v1.0 with: molecule_parentdir: 'ansible_collections/arista/cvp' molecule_command: 'test' molecule_args: '--all' ansible: ansible>=2.10 pip_file: 'requirements.txt' check_git: true check_git_enforced: false
test.env):shell# cat test.env INPUT_PIP_FILE=requirements.txt INPUT_MOLECULE_PARENTDIR=/root/ansible_collections/arista/cvp INPUT_MOLECULE_COMMAND=test INPUT_MOLECULE_ARGS=--all
shelldocker run --rm -it \ -v ${PWD}:/root/ \ # 本地内容与容器共享 -v /var/run/docker.sock:/var/run/docker.sock \ # Molecule需要的Docker进程 --env-file dev.env \ # 包含变量的文件 avdteam/action-molecule:v1.0
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务