本镜像为Woodpecker CI(持续集成/持续部署工具)的官方Ansible插件,旨在将Ansible集成到CI/CD流程中,实现通过Ansible playbook自动化执行配置管理、应用部署、环境初始化等运维任务,提升CI/CD流程的自动化程度和运维效率。
通过Woodpecker CI流水线配置文件(.woodpecker.yml)的settings字段传递参数,支持以下核心配置:
| 参数名 | 描述 | 是否必填 | 示例值 |
|---|---|---|---|
playbook | 指定待执行的Ansible playbook文件路径(相对于项目根目录) | 是 | deploy/prod.yml |
inventory | Ansible inventory文件路径(定义目标主机列表及变量) | 否 | inventory/prod.ini |
vault_password | Ansible Vault解密密码(建议通过Woodpecker Secrets传递) | 否 | from_secret: ansible_vault_pwd |
extra_vars | 额外Ansible变量,支持JSON格式字符串 | 否 | '{"app_version": "v1.2.0", "env": "prod"}' |
verbose | 是否启用Ansible详细输出模式(true/false) | 否 | true |
directory | 执行Ansible命令的工作目录(相对于项目根目录) | 否 | ansible/ |
module_path | Ansible模块搜索路径 | 否 | ./custom_modules/ |
1. 基础用法(执行简单playbook)
在Woodpecker CI项目的.woodpecker.yml中添加以下配置,实现通过Ansible部署应用:
yamlpipeline: deploy-to-prod: image: woodpeckerci/plugin-ansible settings: playbook: deploy/prod.yml # 项目中的Ansible playbook路径 inventory: inventory/prod.ini # 目标主机inventory文件 verbose: true # 启用详细输出 when: branch: main # 仅在main分支触发
2. 带变量注入与Vault解密
若需传递动态变量并解密Vault加密文件,配置示例如下:
yamlpipeline: deploy-with-vars: image: woodpeckerci/plugin-ansible settings: playbook: deploy/staging.yml inventory: inventory/staging.ini extra_vars: '{"app_version": "${CI_COMMIT_SHA:0:8}", "env": "staging"}' # 注入CI提交哈希作为版本号 vault_password: from_secret: ansible_vault_pwd # 从Woodpecker Secrets获取Vault密码 when: branch: develop
3. 自定义工作目录
若Ansible相关文件(playbook、inventory等)存放在项目子目录(如ansible/),需指定工作目录:
yamlpipeline: ansible-task: image: woodpeckerci/plugin-ansible settings: playbook: prod.yml # 相对于工作目录的路径(ansible/prod.yml) inventory: inventory.ini # 相对于工作目录的路径(ansible/inventory.ini) directory: ansible/ # 工作目录设为项目下的ansible文件夹
ssh_key参数或挂载~/.ssh/id_rsa实现,具体需参考镜像版本说明)。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 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 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务