
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
专注于持续集成的 Android Docker 镜像,旨在 CircleCI 上运行
https://circleci.com/gh/CircleCI-Public/cimg-android.svg?style=shield](https://circleci.com/gh/CircleCI-Public/cimg-android) https://img.shields.io/badge/license-MIT-blue.svg](https://raw.githubusercontent.com/CircleCI-Public/cimg-android/main/LICENSE) https://img.shields.io/docker/pulls/cimg/android](https://hub.docker.com/r/cimg/android) https://img.shields.io/badge/community-CircleCI%20Discuss-343434.svg](https://discuss.circleci.com/c/ecosystem/circleci-images) https://img.shields.io/badge/github-README-brightgreen](https://github.com/CircleCI-Public/cimg-android)
此镜像旨在取代旧版 CircleCI Android 镜像 circleci/android。
cimg/android 是由 CircleCI 创建的 Docker 镜像,专为持续集成构建设计。每个标签包含 Android 环境和工具链,包括多个 API SDK、命令行工具、构建工具、Ant、Gradle、Google Cloud SDK 等。
此镜像可与 CircleCI 的 docker 执行器配合使用。例如:
yamljobs: build: docker: - image: cimg/android:2021.08.1 steps: - checkout - run: ./gradlew androidDependencies - run: ./gradlew lint test
上述示例中,CircleCI Android Docker 镜像用作主容器,具体使用标签 2021.08.1(即 2021 年 8 月的镜像快照)。您可在此作业步骤中构建和测试 Android 项目。
此镜像包含 Android SDK 和 CLI 工具。
变体镜像通常包含相同的基础软件,但有少量额外修改。
NDK - 原生开发工具包
NDK 变体与基础 Android 镜像相同,但已安装 Android NDK(特定稳定且长期支持版本)。可通过在现有 cimg/android 标签末尾添加 -ndk 来使用 NDK 变体。
yamljobs: build: docker: - image: cimg/android:2021.08.1-ndk steps: - checkout
Node.js
Node.js 变体与基础 Android 镜像相同,但额外安装了 Node.js。可通过在现有 cimg/android 标签末尾添加 -node 来使用 Node.js 变体。
yamljobs: build: docker: - image: cimg/android:2021.08.1-node steps: - checkout - run: node --version
浏览器
浏览器变体与基础 Android 镜像相同,但通过 apt 预安装了 Node.js、Java、Selenium 和浏览器依赖项。可通过在现有 cimg/android 标签末尾添加 -browsers 来使用浏览器变体。此变体旨在与 https://circleci.com/developer/orbs/orb/circleci/browser-tools 配合使用,可通过该 orb 在构建中安装特定版本的 Google Chrome 和/或 Firefox。该镜像包含使用浏览器及其驱动程序所需的所有支持工具。
yamlorbs: browser-tools: circleci/browser-tools@1.1 jobs: build: docker: - image: cimg/android:2021.08.1-browsers steps: - browser-tools/install-browser-tools - checkout - run: | node --version java --version google-chrome --version
此镜像采用以下标签方案:
cimg/android:<tag>[-variant]
<tag> - 镜像快照版本,可在 https://circleci.com/developer/images/image/cimg/android 查看可用标签和预安装软件列表。
[-variant] - 可选的变体标签,可用变体见上文变体部分。
可通过本仓库在本地构建和运行镜像。需满足以下要求:
在 GitHub 上 Fork 本仓库。获取克隆 URL 后,需在克隆命令中添加 --recurse-submodules 以填充仓库中包含的 Git 子模块。命令如下:
bashgit clone --recurse-submodules <我的克隆 URL>
如果已克隆但遗漏此步骤,可运行 git submodule update --recursive 填充子模块。还可选择将本仓库添加为上游仓库:
bashgit remote add upstream https://github.com/CircleCI-Public/cimg-android.git
使用以下命令克隆项目以填充子模块:
bashgit clone --recurse-submodules git@github.com:CircleCI-Public/cimg-android.git
可使用 gen-dockerfiles.sh 脚本生成此镜像的 Dockerfile。例如,从仓库根目录运行:
bash./shared/gen-dockerfiles.sh 2021.07.1
生成的 Dockerfile 将位于 ./2021.07/Dockerfile。要在本地构建此镜像并试用,可运行:
bashcd 2021.07 docker build -t test/android:2021.07.1 . docker run -it docker.xuanyuan.run/test/android:2021.07.1 bash
要像本仓库一样在本地构建 Docker 镜像,需运行 build-images.sh 脚本:
bash./build-images.sh
需先生成 Dockerfile 后运行此命令。发布 CircleCI 正式镜像时,此脚本从 CircleCI 流水线运行,而非本地。
可使用上述单个脚本创建镜像的正确文件,然后添加到新 Git 分支、提交等。包含发布脚本以简化此过程。要为此镜像进行正式发布(以假标签 2021.07.1 为例),需从仓库根目录运行:
bash./shared/release.sh 2021.07.1
这将自动创建新 Git 分支、生成 Dockerfile、暂存更改、提交并推送到 GitHub。提交消息以字符串 [release] 结尾,CircleCI 通过此字符串识别何时将镜像推送到 Docker Hub。之后需:等待 CircleCI 构建通过、审核 PR、合并 PR。主分支构建随后将发布版本。
变更如何合并到此镜像取决于其来源。
构建脚本 - ./shared 子模块内的更改在其https://github.com/CircleCI-Public/cimg-shared%E4%B8%AD%E8%BF%9B%E8%A1%8C%E3%80%82%E8%A6%81%E4%BD%BF%E8%BF%99%E4%BA%9B%E6%9B%B4%E6%94%B9%E5%BD%B1%E5%93%8D%E6%AD%A4%E9%95%9C%E5%83%8F%EF%BC%8C%E9%9C%80%E6%9B%B4%E6%96%B0%E5%AD%90%E6%A8%A1%E5%9D%97%E3%80%82%E9%80%9A%E5%B8%B8%E5%91%BD%E4%BB%A4%E5%A6%82%E4%B8%8B%EF%BC%9A
bashcd shared git pull cd .. git add shared git commit -m "更新子模块以修复 foo 问题。"
父镜像 - 设计上,父镜像变更不会出现在现有 Android 镜像中,以确保“确定性”并防止破坏用户构建。新 Android 镜像将自动包含这些变更。
如果确实需要将父镜像变更发布到 Android 镜像中,需将特定镜像版本作为新镜像构建,这将创建新 Dockerfile,发布后成为新镜像。
Android 特定变更 - 编辑本仓库中的 Dockerfile.template 文件将专门修改 Android 镜像。注意,要在本地查看这些变更,需重新运行 gen-dockerfiles.sh 脚本(见上文)。
我们鼓励针对本仓库提交https://github.com/CircleCI-Public/cimg-android/issues%E5%92%8Chttps://github.com/CircleCI-Public/cimg-android/pulls%E3%80%82%E4%B8%BA%E5%B0%8A%E9%87%8D%E6%82%A8%E7%9A%84%E6%97%B6%E9%97%B4%EF%BC%8C%E8%AF%B7%E6%B3%A8%E6%84%8F%E4%BB%A5%E4%B8%8B%E4%BA%8B%E9%A1%B9%EF%BC%9A
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 许可证授权。许可证详见此处。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务