
如果你使用 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镜像预设了git、maven和gpg环境,并集成了由bot触发发布的脚本,旨在简化Maven项目的自动化发布流程。通过提供预置工具链和自动化脚本,支持GPG签名、版本管理、安全认证等关键发布环节,适用于CI/CD环境中由bot执行的可靠发布任务。
mvn prepare步骤执行失败,自动回滚发布过程,保障代码库一致性适用于需要自动化Maven项目发布流程的场景,特别适合:
镜像内置核心发布脚本:release.sh,用于执行完整的发布流程自动化。
脚本运行依赖以下环境变量,需根据项目需求配置:
GPG相关配置
| 变量名 | 说明 |
|---|---|
GPG_ENABLED | 是否启用GPG签名(true/false) |
GPG_KEY_ID | GPG签名密钥ID |
GPG_KEY | base64编码的GPG私钥 |
GPG_PASSPHRASE | GPG私钥解密密码 |
SSH相关配置
| 变量名 | 说明 |
|---|---|
SSH_PRIVATE_KEY | base64编码的SSH私钥 |
SSH_ROOT_FOLDER | SSH根目录,默认值为${SSH_ROOT_FOLDER} |
SSH_EXTRA_KNOWN_HOST | 需添加到.ssh/known_hosts的额外主机名 |
SSH_PASSPHRASE | SSH私钥解密密码(若私钥加密) |
Maven相关配置
| 变量名 | 说明 |
|---|---|
MAVEN_REPO_SERVER_ID | Maven仓库服务器ID(用于推送artifacts) |
MAVEN_REPO_SERVER_USERNAME | Maven仓库认证用户名 |
MAVEN_REPO_SERVER_PASSWORD | Maven仓库认证密码 |
MAVEN_PROJECT_FOLDER | 执行Maven命令的项目根目录 |
MAVEN_ARGS | 发布过程中传递给Maven的额外参数 |
MAVEN_OPTION | Maven运行选项(如JVM参数等) |
MAVEN_DEVELOPMENT_VERSION_NUMBER | 开发版本号格式 |
MAVEN_RELEASE_VERSION_NUMBER | 发布版本号格式 |
Docker Registry相关配置
| 变量名 | 说明 |
|---|---|
DOCKER_REGISTRY_ID | Docker仓库ID(如registry.hub.docker.com) |
DOCKER_REGISTRY_USERNAME | Docker仓库认证用户名 |
DOCKER_REGISTRY_PASSWORD | Docker仓库认证密码 |
其他配置
| 变量名 | 说明 |
|---|---|
SKIP_GIT_SANITY_CHECK | 设为true跳过git完整性检查(会重置分支) |
SKIP_PERFORM | 设为false不跳过maven perform步骤 |
GIT_RELEASE_BOT_NAME | Git提交时使用的bot用户名 |
GIT_RELEASE_BOT_EMAIL | Git提交时使用的bot用户*** |
CI_COMMIT_SHA | 触发工作流的提交SHA值 |
CI_COMMIT_REF_NAME | 触发工作流的分支或标签引用 |
VERSION_MAJOR | 设为true以递增主版本号 |
VERSION_MINOR | 设为true以递增次版本号 |
RELEASE_BRANCH_NAME | 自定义发布分支名称(仅在该分支触发发布) |
Docker Run命令示例
bashdocker run -e GPG_ENABLED=true \ -e GPG_KEY_ID=ABC123456 \ -e GPG_KEY="$(base64 /local/path/to/gpg_private.key)" \ -e GPG_PASSPHRASE=your_gpg_passphrase \ -e SSH_PRIVATE_KEY="$(base64 /local/path/to/ssh_private.key)" \ -e MAVEN_REPO_SERVER_ID=central \ -e MAVEN_REPO_SERVER_USERNAME=maven_user \ -e MAVEN_REPO_SERVER_PASSWORD=maven_pass \ -e VERSION_MINOR=true \ -e RELEASE_BRANCH_NAME=release \ [镜像名称] /release.sh
Docker Compose配置示例(片段)
yamlversion: '3' services: maven-release: image: [镜像名称] environment: GPG_ENABLED: "true" GPG_KEY_ID: "ABC***" GPG_KEY: "${GPG_PRIVATE_KEY_BASE64}" GPG_PASSPHRASE: "${GPG_PASSPHRASE}" SSH_PRIVATE_KEY: "${SSH_PRIVATE_KEY_BASE64}" MAVEN_REPO_SERVER_ID: "central" MAVEN_REPO_SERVER_USERNAME: "${MAVEN_USERNAME}" MAVEN_REPO_SERVER_PASSWORD: "${MAVEN_PASSWORD}" VERSION_MINOR: "true" RELEASE_BRANCH_NAME: "release" GIT_RELEASE_BOT_NAME: "release-bot" GIT_RELEASE_BOT_*** "***" command: /release.sh
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务