自定义 Docker 构建环境
背景介绍
关于如何选择持续集成的构建环境,我们已有文章进行说明:《持续集成的构建环境》。
CODING 持续集成为您提供了默认构建环境,若默认环境中预装的 SDK 版本和命令行工具无法满足您的要求,还可以通过在持续集成中使用 Docker 构建环境来解决。
本文以构建装有进程管理工具 pm2 的 node.js 12 环境为例,通过【构建 Docker 镜像】->【推送到 CODING 制品库】->【使用 CODING 制品库中的镜像作为持续集成构建环境】进行演示。
步骤一:构建 Docker 镜像
- 新建目录,创建 Dockerfile 如下:
# 指定 node.js 版本为 node 12,默认从 Docker Hub 上拉取
FROM node:12
# 安装 pm2
RUN npm install pm2 -g
COPY . .
# 设置容器启动时的命令
CMD [ "pm2-runtime", "start" ]
- 运行指令
docker build -t pm2-test .
;-t
指定镜像名称;
Step 1/4 : FROM node:12
...
Step 2/4 : RUN npm install pm2 -g
...
Step 3/4 : COPY . .
...
Step 4/4 : CMD [ "pm2-runtime", "start" ]
---> Running in 46cc5081cb4f
Removing intermediate container 46cc5081cb4f
---> 5f8335fa91d4
Successfully built 5f8335fa91d4
Successfully tagged pm2-test:latest
步骤二:推送镜像到 CODING 制品库
- 进入 CODING 制品库,选择已有制品库或新建制品库,选择指引:
- 点击 “使用访问令牌生成配置”,输入密码后,复制并粘贴命令到终端登陆
- 给本地镜像打标签
docker tag pm2-test ******/test-dd/test/pm2-test
- 推送您的 docker 镜像到 CODING 制品库
docker push ******/test-dd/test/pm2-test
The push refers to repository [******************/test-dd/test/pm2-test]
809e73e276b8: Pushed
9159d4abedcd: Pushed
...
latest: digest: sha256:ccecda5071e60593d1be44ea27d4ec5b35f6a5f6872fb9 size: 2634
推送成功后可以在镜像列表找到您的镜像。
步骤三:在持续集成中使用镜像作为构建环境
进入【持续集成设置】->【流程配置】,选择 “使用项目内的 Docker 镜像”,选择对应制品库和镜像。
最近更新
感谢反馈有用
感谢反馈没用
在阅读中是否遇到以下问题?
您希望我们如何改进?