本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
专注于持续集成的 Android Docker 镜像,旨在 CircleCI 上运行
。您可在此作业步骤中构建和测试 Android 项目。
此镜像包含 Android SDK 和 CLI 工具。
变体镜像通常包含相同的基础软件,但有少量额外修改。
NDK 变体与基础 Android 镜像相同,但已安装 Android NDK(特定稳定且长期支持版本)。可通过在现有 cimg/android 标签末尾添加 -ndk 来使用 NDK 变体。
jobs: build: docker: - image: cimg/android:2021.08.1-ndk steps: - checkout
Node.js 变体与基础 Android 镜像相同,但额外安装了 Node.js。可通过在现有 cimg/android 标签末尾添加 -node 来使用 Node.js 变体。
jobs: build: docker: - image: cimg/android:2021.08.1-node steps: - checkout - run: node --version
浏览器变体与基础 Android 镜像相同,但通过 apt 预安装了 Node.js、Java、Selenium 和浏览器依赖项。可通过在现有 cimg/android 标签末尾添加 -browsers 来使用浏览器变体。此变体旨在与 CircleCI Browser Tools orb 配合使用,可通过该 orb 在构建中安装特定版本的 Google Chrome 和/或 Firefox。该镜像包含使用浏览器及其驱动程序所需的所有支持工具。
orbs: 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> - 镜像快照版本,可在 开发者中心 查看可用标签和预安装软件列表。
[-variant] - 可选的变体标签,可用变体见上文变体部分。
可通过本仓库在本地构建和运行镜像。需满足以下要求:
在 GitHub 上 Fork 本仓库。获取克隆 URL 后,需在克隆命令中添加 --recurse-submodules 以填充仓库中包含的 Git 子模块。命令如下:
git clone --recurse-submodules <我的克隆 URL>
如果已克隆但遗漏此步骤,可运行 git submodule update --recursive 填充子模块。还可选择将本仓库添加为上游仓库:
git remote add upstream [***]
使用以下命令克隆项目以填充子模块:
git clone --recurse-submodules ***:CircleCI-Public/cimg-android.git
可使用 gen-dockerfiles.sh 脚本生成此镜像的 Dockerfile。例如,从仓库根目录运行:
./shared/gen-dockerfiles.sh 2021.07.1
生成的 Dockerfile 将位于 ./2021.07/Dockerfile。要在本地构建此镜像并试用,可运行:
cd 2021.07 docker build -t test/android:2021.07.1 . docker run -it test/android:2021.07.1 bash
要像本仓库一样在本地构建 Docker 镜像,需运行 build-images.sh 脚本:
./build-images.sh
需先生成 Dockerfile 后运行此命令。发布 CircleCI 正式镜像时,此脚本从 CircleCI 流水线运行,而非本地。
可使用上述单个脚本创建镜像的正确文件,然后添加到新 Git 分支、提交等。包含发布脚本以简化此过程。要为此镜像进行正式发布(以假标签 2021.07.1 为例),需从仓库根目录运行:
./shared/release.sh 2021.07.1
这将自动创建新 Git 分支、生成 Dockerfile、暂存更改、提交并推送到 GitHub。提交消息以字符串 [release] 结尾,CircleCI 通过此字符串识别何时将镜像推送到 Docker Hub。之后需:等待 CircleCI 构建通过、审核 PR、合并 PR。主分支构建随后将发布版本。
变更如何合并到此镜像取决于其来源。
构建脚本 - ./shared 子模块内的更改在其自身仓库中进行。要使这些更改影响此镜像,需更新子模块。通常命令如下:
cd shared git pull cd .. git add shared git commit -m "更新子模块以修复 foo 问题。"
父镜像 - 设计上,父镜像变更不会出现在现有 Android 镜像中,以确保“确定性”并防止破坏用户构建。新 Android 镜像将自动包含这些变更。
如果确实需要将父镜像变更发布到 Android 镜像中,需将特定镜像版本作为新镜像构建,这将创建新 Dockerfile,发布后成为新镜像。
Android 特定变更 - 编辑本仓库中的 Dockerfile.template 文件将专门修改 Android 镜像。注意,要在本地查看这些变更,需重新运行 gen-dockerfiles.sh 脚本(见上文)。
我们鼓励针对本仓库提交问题和拉取请求。为尊重您的时间,请注意以下事项:
CircleCI 文档 - CircleCI 官方文档网站。
CircleCI 配置参考 - 来自 CircleCI 文档,配置参考页面是最实用的页面之一,列出了 .circleci/config.yml 支持的所有键和值。
Docker 文档 - 简单项目可能无需此资源,但如需深入学*** Docker,这是极佳资源。
本仓库采用 MIT 许可证授权。许可证详见此处。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429