
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
rancher-gitlab-deploy 是一个用于在GitLab CI工作流中部署容器到Rancher基础设施的工具。它可无缝集成到 gitlab-ci.yml 流程中,配置需求少,能作为CI工作流的一部分升级现有服务。支持GitLab内置Docker仓库和外部Docker仓库,可自动从GitLab CI运行器设置的环境变量中获取大部分配置。
注意:该工具不适用于在Rancher中创建新服务,仅用于升级已存在的服务。如需创建服务,应在CI工作流中使用
rancher-compose,但这需要在Git仓库中存储敏感环境变量。
适用于已在Rancher中创建服务,需要通过GitLab CI/CD流程自动化部署和升级这些服务的场景。特别适合DevOps团队在GitLab中管理代码并自动部署到Rancher基础设施的工作流。
推荐使用预构建容器:
https://hub.docker.com/r/cdrx/rancher-gitlab-deploy/
如需本地安装,可使用 pip:
bashpip install rancher-gitlab-deploy
需在Rancher中创建API密钥,并在GitLab项目中保存为保密变量,至少需要以下三个变量:
RANCHER_URL:Rancher服务器URL(例如 https://rancher.example.com)RANCHER_ACCESS_KEY:Rancher API访问密钥RANCHER_SECRET_KEY:Rancher API密钥密码Rancher支持环境级和账户级API密钥:
--environment 标志指定环境名默认服务定位
工具默认使用GitLab项目组名作为Rancher堆栈名,项目名作为服务名。例如,项目 http://gitlab.example.com/acme/webservice 会升级Rancher中 acme 堆栈下的 webservice 服务。
手动指定堆栈和服务
若服务名与GitLab仓库名不一致,可通过 --stack 和 --service 标志指定:
yamldeploy: stage: deploy image: cdrx/rancher-gitlab-deploy script: - upgrade --stack acmeinc --service website
修改部署镜像
通过 --new-image 选项指定新镜像(或标签),可结合GitLab环境变量 $CI_BUILD_TAG 使用:
yamldeploy: stage: deploy image: cdrx/rancher-gitlab-deploy script: - upgrade --new-image registry.example.com/acme/widget:$CI_BUILD_TAG
升级策略
默认升级策略:
可通过命令行选项调整策略(详见下方 帮助 部分)。
简单示例
完整 gitlab-ci.yml:
yamlimage: docker:latest services: - docker:dind stages: - build - deploy build: stage: build script: - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.example.com - docker build -t registry.example.com/group/project . - docker push registry.example.com/group/project deploy: stage: deploy image: cdrx/rancher-gitlab-deploy script: - upgrade
复杂示例
yamldeploy: stage: deploy image: cdrx/rancher-gitlab-deploy script: - upgrade --environment production --stack acme --service web --new-image alpine:3.4 --no-finish-upgrade
bash$ rancher-gitlab-deploy --help
主要选项说明:
| 选项 | 描述 |
|---|---|
--rancher-url TEXT | Rancher服务器URL(必填,例如 http://rancher:8000) |
--rancher-key TEXT | 环境或账户API密钥(必填) |
--rancher-secret TEXT | API密钥密码(必填) |
--environment TEXT | 环境名称(使用账户API密钥且需指定环境时使用) |
--stack TEXT | Rancher堆栈名(默认使用GitLab项目组名,必填) |
--service TEXT | Rancher服务名(默认使用GitLab项目名,必填) |
--new-image TEXT | 升级时使用的新镜像(含标签) |
--start-before-stopping / --no-start-before-stopping | 是否先启动新容器再停止旧容器(默认先停止) |
--batch-size INTEGER | 每次升级的容器数量 |
--batch-interval INTEGER | 升级批次间隔时间(秒) |
--finish-upgrade / --no-finish-upgrade | 升级完成后是否标记为已结束 |
--ssl-verify / --no-ssl-verify | 是否验证SSL证书(默认验证) |
--create / --no-create | 若堆栈/服务不存在,是否创建(需配合 --new-image) |
--label KEY VALUE | 为服务添加标签(可多次使用) |
--variable KEY VALUE | 为服务添加环境变量(可多次使用) |
[1.6] - 2018-09-09
--rollback-on-error 选项(感谢 @TZK- 的PR)--label、--variables、--variable 选项(感谢 @tsteenkamp 的PR)[1.5] - 2017-11-25
[1.4] - 2017-07-18
--no-start-before-stopping 设为默认行为[1.3] - 2017-03-16
--new-sidekick-image 标志,支持升级sidekicks镜像(感谢 @kariae 的PR)[1.2] - 2017-01-03
--sidekicks 标志,支持同时升级sidekicks服务(感谢 @kiesiu 的PR)[1.1] - 2016-09-29
--environment 时的崩溃问题(感谢 @mvriel 的PR)[1.0] - 2016-09-14
MIT
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。






来自真实用户的反馈,见证轩辕镜像的优质服务