
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像是基于官方JetBrains TeamCity Agent镜像的定制版本,在保留原版Agent核心功能的基础上,预安装了多种常用构建工具、编程语言环境及系统工具,以扩展TeamCity的构建能力,满足复杂CI/CD场景需求。
作为TeamCity构建代理(Agent),连接TeamCity Server并执行构建任务。通过预安装的额外工具,支持多语言项目构建、容器化应用打包、自动化测试及复杂构建流程,减少构建环境配置时间,提升构建效率。
update-alternatives切换)假设镜像存储于私有仓库(如registry.example.com/teamcity-agent-custom:latest),或通过本地Dockerfile构建。拉取命令:
bashdocker pull registry.example.com/teamcity-agent-custom:latest
核心命令
bashdocker run -d \ --name teamcity-agent-01 \ -v /opt/teamcity/agents/agent01/conf:/data/teamcity_agent/conf \ # Agent配置目录(持久化) -v /opt/teamcity/agents/agent01/work:/data/teamcity_agent/work \ # 工作空间(持久化构建产物) -e SERVER_URL="http://teamcity-server:8111" \ # TeamCity Server地址 -e AGENT_NAME="agent-01-custom" \ # 自定义Agent名称(可选,默认随机生成) -e AGENT_TOKEN="your-agent-token" \ # Agent注册令牌(从Server获取) -e DOCKER_HOST="unix:///var/run/docker.sock" \ # 若需使用Docker,挂载宿主机Docker守护进程 -v /var/run/docker.sock:/var/run/docker.sock \ # 共享宿主机Docker(可选,用于Docker in Docker) registry.example.com/teamcity-agent-custom:latest
创建docker-compose.yml,更便于管理Agent生命周期:
yamlversion: '3.8' services: teamcity-agent: image: registry.example.com/teamcity-agent-custom:latest container_name: teamcity-agent-01 restart: always volumes: - ./agent/conf:/data/teamcity_agent/conf # 本地目录挂载Agent配置 - ./agent/work:/data/teamcity_agent/work # 本地目录挂载工作空间 - /var/run/docker.sock:/var/run/docker.sock # 可选:启用Docker访问 environment: - SERVER_URL=http://teamcity-server:8111 # TeamCity Server地址(需与Server网络互通) - AGENT_NAME=agent-01-custom - AGENT_TOKEN=your-agent-token # 从TeamCity Server > Agents > Pools > Create Agent获取 - WORK_DIR=/data/teamcity_agent/work # 工作空间路径(默认与挂载目录一致) networks: - teamcity-network # 确保与TeamCity Server在同一网络 networks: teamcity-network: external: true # 假设已存在与Server共享的网络
启动命令:
bashdocker-compose up -d
| 环境变量 | 用途 | 默认值 | 必须配置 |
|---|---|---|---|
SERVER_URL | TeamCity Server地址(含端口) | 无 | 是 |
AGENT_NAME | Agent显示名称(需唯一) | 随机生成(格式:agent-{随机字符串}) | 否 |
AGENT_TOKEN | Agent注册令牌(从Server获取) | 无 | 是(首次注册) |
WORK_DIR | 构建工作空间路径 | /data/teamcity_agent/work | 否 |
DOCKER_HOST | Docker守护进程地址(启用Docker时) | unix:///var/run/docker.sock | 否 |
AGENT_OPTS | Agent JVM参数(如内存配置) | -Xmx512m -Xms256m | 否 |
HTTP_PROXY | 代理服务器地址(如需外部网络访问) | 无 | 否 |
| 挂载路径 | 用途 | 建议权限 |
|---|---|---|
/data/teamcity_agent/conf | Agent配置文件(含与Server通信的密钥) | 读写 |
/data/teamcity_agent/work | 构建产物、临时文件存储 | 读写 |
/var/run/docker.sock | 宿主机Docker守护进程(如需Docker in Docker) | 只读 |
/root/.m2(可选) | Maven本地仓库(缓存依赖,加速构建) | 读写 |
/root/.npm(可选) | npm本地仓库(缓存依赖) | 读写 |
自定义工具路径
若需覆盖预安装工具版本,可通过环境变量指定路径,例如:
bash-e MAVEN_HOME="/opt/maven-custom" # 优先使用自定义Maven路径(需提前挂载工具目录)
资源限制
通过docker run参数限制CPU/内存:
bash--cpus 2 --memory 4g # 限制2核CPU、4GB内存
SERVER_URL(建议与Server部署在同一网络,或通过端口映射暴露Server)tcagent,UID 1000)对目录有读写权限,可通过-u root临时调试(生产环境不建议)SERVER_URL是否正确(需包含http://或https://)、网络是否互通(可通过docker exec -it <agent-container> curl <server-url>测试)/var/run/docker.sock已挂载,且容器内用户有访问权限(可添加--group-add docker参数)docker exec -it <agent-container> <tool> --version检查预安装工具版本,或提交镜像更新需求您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务