
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这段话即可:
请先阅读并遵守:https://xuanyuan.cloud/agents.md
未读文档前不要生成 pull 命令或排错方案。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
一个专注于持续交付和部署的Docker镜像,专为在CircleCI上运行而构建
cimg/deploy是由CircleCI创建的Docker镜像,专为持续交付和部署流水线设计。每个标签都是基于日期的快照,包含多种部署相关工具,如kubectl、terraform等。如果需要AWS CLI,请查看https://github.com/CircleCI-Public/cimg-aws。GCP和Azure镜像即将推出。
此镜像可与CircleCI的docker执行器一起使用。例如:
yamljobs: build: docker: - image: cimg/deploy:2022.06.1 steps: - checkout - run: echo "执行部署操作"
在上述示例中,CircleCI Deploy Docker镜像用作主容器。具体使用了标签2022.06.1,表示这是2022年6月的第1个快照。现在可以在此作业中使用镜像中预安装的所有工具。
此镜像每月发布一次。每个月,我们会将主要工具更新到可用的新版本。
变体镜像通常包含相同的基础软件,但有一些额外的修改。
Node.js
Node.js变体与Deploy镜像相同,但额外安装了Node.js。使用时,在现有cimg/deploy标签后追加-node即可。
yamljobs: build: docker: - image: cimg/deploy:2022.06.1-node steps: - checkout - run: node --version # 验证Node.js已安装
此镜像的标签方案如下:
cimg/deploy:YYYY.MM.I[-variant]
标签格式为YYYY.MM.I,其中YYYY是4位年份,MM是2位月份,I是该月的第n次发布。通常只有在需要为当月镜像打补丁时,I的值才会变化。
[-variant] - 可选的变体标签。例如,Node.js变体可表示为:cimg/deploy:2022.06.1-node。
可通过本仓库在本地构建和运行镜像。需满足以下要求:
在GitHub上Fork此仓库。获取克隆URL后,需添加--recurse-submodules参数以填充仓库中包含的Git子模块。命令如下:
bashgit clone --recurse-submodules <我的克隆URL>
如果已克隆但未添加子模块,可运行git submodule update --init填充子模块。然后可选择将此仓库添加为自己仓库的上游:
bashgit remote add upstream https://github.com/CircleCI-Public/cimg-deploy.git
使用以下命令克隆项目以填充子模块:
bashgit clone --recurse-submodules git@github.com:CircleCI-Public/cimg-deploy.git
可使用gen-dockerfiles.sh脚本生成Dockerfile。例如,从仓库根目录运行:
bash./shared/gen-dockerfiles.sh 2022.06.1
生成的Dockerfile将位于./2022.06/Dockerfile。要在本地构建并测试此镜像,可运行:
bashcd 2022.06 docker build -t test/deploy:2022.06.1 . docker run -it docker.xuanyuan.run/test/deploy:2022.06.1 bash
要像本仓库一样在本地构建Docker镜像,需运行build-images.sh脚本:
bash./build-images.sh
运行前需先生成Dockerfile。发布CircleCI官方镜像时,此脚本从CircleCI流水线运行,而非本地。
可使用上述各个脚本创建镜像所需的正确文件,然后添加到新的git分支、提交等。包含一个发布脚本以简化此过程。要为此镜像创建正式发布(以1991年4月为例),从仓库根目录运行:
bash./shared/release.sh 1991.04.2
这将自动创建新的Git分支、生成Dockerfile、暂存更改、提交并推送到GitHub。提交消息将以[release]结尾,CircleCI通过此字符串识别何时将镜像推送到Docker Hub。之后需执行:
主分支构建将随后发布版本。
更改如何整合到镜像中取决于其来源:
构建脚本 - ./shared子模块内的更改在https://github.com/CircleCI-Public/cimg-shared中进行。要使这些更改影响此镜像,需更新子模块。通常命令如下:
bashcd shared git pull cd .. git add shared git commit -m "更新子模块以支持foo"
父镜像 - 设计上,父镜像的更改不会出现在现有Deploy镜像中,以确保“确定性”并防止破坏用户构建。新的Deploy镜像将自动获取更改。
如果确实需要将父镜像的更改发布到Deploy镜像中,必须将特定镜像版本作为新镜像构建。这将创建新的Dockerfile,发布后成为新镜像。
Deploy镜像特定更改 - 编辑本仓库中的Dockerfile.template文件将专门修改Deploy镜像。注意,要在本地查看这些更改,需重新运行gen-dockerfiles.sh脚本(见上文)。
我们鼓励为此仓库提交https://github.com/CircleCI-Public/cimg-deploy/issues和https://github.com/CircleCI-Public/cimg-deploy/pulls。为节省您的时间,请注意以下几点:
https://circleci.com/docs/ - 官方CircleCI文档网站。
https://circleci.com/docs/2.0/configuration-reference/#section=configuration - 来自CircleCI文档,配置参考页面是最有用的页面之一,列出了.circleci/config.yml中支持的所有键和值。
https://docs.docker.com/ - 简单项目可能不需要,但深入学习Docker时是很好的资源。
本仓库采用MIT许可证。许可证详见此处。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务