
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
该容器提供标准Jenkins安装,推荐用于Hamlet Deploy部署。同时支持使用Hamlet Deploy进行部署,以及通过此Jenkins服务器部署其他产品。
Jenkins基础配置
| 环境变量 | 说明 |
|---|---|
| JENKINS_URL | Jenkins实例的URL |
| TIMEZONE | 时区设置 |
| MAXMEMORY | 最大内存限制 |
| JAVA_OPTS | Java基础参数 |
| JAVA_EXTRA_OPTS | 额外Java参数 |
代理配置
该Jenkins实例设计用于基于容器的按需代理,并包含基于amazon-ecs插件的云环境配置初始化脚本。
| 环境变量 | 说明 |
|---|---|
| ECS_ARN | 运行任务的ECS集群ARN |
| AGENT_JNLP_TUNNEL | JNLP端点的备用主机名:端口组合 |
| AGENT_JENKINS_URL | JNLP端点的备用URL |
| AGENT_REMOTE_FS | 代理上用作代理用户主目录的路径 |
支持带有独立任务定义的多代理标签:
ECS_AGENT_PREFIX - 设置用于在环境变量中搜索代理的前缀代理可使用以下语法定义:
<ECS_AGENT_PREFIX>_<Agent_Label>_DEFINITION - ECS任务定义ID或ARN安全领域
安全领域定义Jenkins实例使用的身份验证服务提供商,通过JENKINSENV_SECURITYREALM指定。
本地安全领域
| 环境变量 | 说明 |
|---|---|
| JENKINSENV_USER | 本地管理员用户名 |
| JENKINSENV_PASS | 本地管理员密码 |
GitHub Auth安全领域
| 环境变量 | 说明 |
|---|---|
| GITHUBAUTH_CLIENTID | GitHub OAuth客户端ID |
| GITHUBAUTH_ADMIN | GitHub管理员用户/组 |
| GITHUBAUTH_SECRET | GitHub OAuth客户端密钥 |
SAML安全领域
| 环境变量 | 说明 |
|---|---|
| SAMLAUTH_META_XML | SAML元数据XML内容 |
| SAMLAUTH_META_URL | SAML元数据URL |
| SAMLAUTH_META_UPDATE | 元数据更新间隔 |
| SAMLAUTH_ATTR_DISPLAYNAME | 显示名属性 |
| SAMLAUTH_ATTR_USERNAME | 用户名属性 |
| SAMLAUTH_ATTR_GROUP | 组属性 |
| SAMLAUTH_ATTR_EMAIL | ***属性 |
| SAMLAUTH_LOGOUT_URL | 登出URL |
| SAMLAUTH_LIFETIME_MAX | 最大会话生命周期 |
| SAMLAUTH_***DING | SAML绑定方式 |
| SAMLAUTH_USERCASE | 用户名大小写处理 |
GitHub Webhook Secret
| 环境变量 | 说明 |
|---|---|
| GITHUB_WEBHOOK_CRED_ID | GitHub Webhook密钥的纯文本凭证ID |
Slack默认配置
| 环境变量 | 说明 |
|---|---|
| SLACK_WORKSPACE | Slack工作区 |
| SLACK_DEFAULT_CHANNEL | 默认通知频道 |
| SLACK_CRED_ID | Slack令牌的纯文本凭证ID |
Jenkins凭证
允许在启动时添加全局Jenkins命名空间的凭证,支持多种类型,每种类型有各自的属性。
通用属性
| 环境变量 | 说明 |
|---|---|
| JENKINSENV_CREDENTIALS_ | 凭证名称 |
| JENKINSENV_CREDENTIALS_ | 凭证描述 |
| JENKINSENV_CREDENTIALS_ | 凭证类型(userpw/secret/githubapp) |
类型:userpw
基于https://github.com/jenkinsci/credentials-plugin%E5%88%9B%E5%BB%BA%E7%94%A8%E6%88%B7%E5%90%8D%E5%AF%86%E7%A0%81%E5%87%AD%E8%AF%81
| 环境变量 | 说明 |
|---|---|
| JENKINSENV_CREDENTIALS_ | 用户名 |
| JENKINSENV_CREDENTIALS_ | 密码 |
类型:secret
基于https://github.com/jenkinsci/plain-credentials-plugin%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5%E6%96%87%E6%9C%AC%E5%87%AD%E8%AF%81
| 环境变量 | 说明 |
|---|---|
| JENKINSENV_CREDENTIALS_ | 密钥文本内容 |
类型:githubapp
基于https://github.com/jenkinsci/github-branch-source-plugin%E5%88%9B%E5%BB%BAGitHub App凭证
| 环境变量 | 说明 |
|---|---|
| JENKINSENV_CREDENTIALS_ | GitHub App ID |
| JENKINSENV_CREDENTIALS_ | GitHub App所有者 |
| JENKINSENV_CREDENTIALS_ | 私钥内容 |
Docker Run命令
bashdocker run -d \ -p 8080:8080 \ -p 50000:50000 \ -e JENKINS_URL="http://jenkins.example.com:8080" \ -e TIMEZONE="Asia/Shanghai" \ -e MAXMEMORY="2g" \ -e ECS_ARN="arn:aws:ecs:us-east-1:123456789012:cluster/hamlet-ecs-cluster" \ -e JENKINSENV_SECURITYREALM="local" \ -e JENKINSENV_USER="admin" \ -e JENKINSENV_PASS="securepassword" \ --name jenkins-hamlet \ docker.xuanyuan.run/jenkins-master-hamlet:latest
Docker Compose配置
yamlversion: '3' services: jenkins: image: jenkins-master-hamlet:latest ports: - "8080:8080" - "50000:50000" environment: - JENKINS_URL=[***] - TIMEZONE=Asia/Shanghai - MAXMEMORY=2g - ECS_ARN=arn:aws:ecs:us-east-1:123456789012:cluster/hamlet-ecs-cluster - JENKINSENV_SECURITYREALM=local - JENKINSENV_USER=admin - JENKINSENV_PASS=securepassword - JENKINSENV_CREDENTIALS_MYCREDS_NAME=my-credential - JENKINSENV_CREDENTIALS_MYCREDS_TYPE=userpw - JENKINSENV_CREDENTIALS_MYCREDS_USER=deploy-user - JENKINSENV_CREDENTIALS_MYCREDS_PASSWORD=deploy-pass volumes: - jenkins-data:/var/jenkins_home volumes: jenkins-data:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 hamletio/jenkins 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: