
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
这是一个基于Docker的项目,用于自动生成指定版本的Azure DevOps Pipelines代理Docker镜像。生成的Docker镜像应作为项目特定代理的基础,根据项目流水线需求进行定制。
说明:Windows镜像目前未维护。
该镜像提供预配置的Azure Pipelines代理环境,旨在简化Azure DevOps流水线中代理的部署和管理。通过环境变量即可配置代理连接信息、名称、池和工作目录等,支持安全传递敏感信息(如令牌、密码),适用于需要在Docker环境中运行定制化Azure Pipelines代理的场景。
适用于需要在Docker容器中部署Azure Pipelines代理的CI/CD场景,特别是:
Azure Pipelines代理必须使用账户连接信息启动,通过以下环境变量提供:
基本运行命令
运行默认Azure Pipelines代理镜像,连接到特定Azure DevOps账户:
bashdocker run \ -e AZDO_URL=<url> \ -e AZDO_TOKEN=<pat> \ -it czon/azdo-agent
安全传递敏感信息
推荐通过挂载文件传递个人访问令牌,使用AZDO_TOKEN_FILE指定文件路径:
bashdocker run \ -v /path/to/my/token:/azdo-token \ -e AZDO_URL=<url> \ -e AZDO_TOKEN_FILE=/azdo-token \ -it czon/azdo-agent
同理,AZDO_PASSWORD也建议通过AZDO_PASSWORD_FILE文件挂载方式传递。
自定义代理配置
通过以下环境变量进一步配置代理:
AZDO_AGENT:代理名称(默认:"$(hostname)")AZDO_POOL:代理池名称(默认:"Default")AZDO_WORK:代理工作目录(默认:"_work")AZDO_AGENT和AZDO_WORK支持容器内shell变量展开,AZDO_AGENT优先计算,AZDO_WORK可引用其值。
示例:运行Ubuntu 18.04版本代理,自定义名称、池和工作目录:
bashdocker run \ -e AZDO_URL=<url> \ -e AZDO_TOKEN=<pat> \ -e AZDO_AGENT='$(hostname)-agent' \ -e AZDO_POOL=mypool \ -e AZDO_WORK='/var/azdo/$AZDO_AGENT' \ -v /var/azdo:/var/azdo \ -it czon/azdo-agent:ubuntu-18.04
必选参数
AZDO_URL
Azure DevOps账户的完整URL(例如:"https://dev.azure.com/czon/" 或 "https://tfs.company.com/tfs/")。
基于令牌的认证(推荐)
AZDO_TOKEN:个人访问令牌(PAT),需至少拥有代理池(读取、管理) 权限AZDO_TOKEN_FILE:包含令牌的文件路径(替代AZDO_TOKEN,更安全)基于用户名密码的认证(不推荐)
AZDO_USER:用户名AZDO_PASSWORD:密码AZDO_PASSWORD_FILE:包含密码的文件路径(替代AZDO_PASSWORD,更安全)可选参数
环境配置
AZDO_AGENT
代理在Azure DevOps中显示的名称(默认:"$(hostname)")。
AZDO_WORK
代理工作目录路径(默认:"/azdo/agent/_work/")。
AZDO_ENV_IGNORE
逗号分隔的环境变量列表,代理扫描能力时将忽略这些变量(适用于不希望出现在能力列表中的Dockerfile变量)。
AZDO_ENV_EXCLUDE
逗号分隔的环境变量列表,将从代理运行环境中排除(适用于运行时不需要的敏感变量)。
AZDO_ENV_INCLUDE
逗号分隔的环境变量列表,将添加到代理运行环境中(例如:"Agent.Project=Sample Project",可用于作业需求)。
行为配置
AZDO_AGENT_DISPOSE
代理仅处理一个作业,完成后关闭并注销自身。
注意:目前代理存在bug,导致此选项可靠性不佳!
详见:https://github.com/microsoft/azure-pipelines-agent/issues/2332
注意:推荐开发环境为Windows集成WSL Bash。
update.sh脚本从*.templates文件生成Dockerfile;
运行build.sh从Dockerfile构建镜像。
运行run.sh可启动容器并注册到Azure DevOps。
示例:
bash./run.sh czon/azdo-agent:ubuntu-18.04-2.155.1 -s https://dev.azure.com/czon/ -n TestAgent01 -p DockerSamples -c -d -i
基于Linux或Windows构建自定义Dockerfile/镜像:
dockerfile.template和版本文件)update.sh中注册模板,运行脚本生成Dockerfilebuild.sh从所有Dockerfile构建镜像查看参与项目的https://github.com/codez-one/docker-azure-pipelines-agent/graphs/contributors%E3%80%82
本项目采用MIT许可证 - 详见LICENSE文件。
基于以下项目:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务