自定义 Docker 构建环境

背景介绍

关于如何选择持续集成的构建环境,我们已有文章进行说明:《持续集成的构建环境》

CODING 持续集成为您提供了默认构建环境,若默认环境中预装的 SDK 版本和命令行工具无法满足您的要求,还可以通过在持续集成中使用 Docker 构建环境来解决。

本文以构建装有进程管理工具 pm2 的 node.js 12 环境为例,通过【构建 Docker 镜像】->【推送到 CODING 制品库】->【使用 CODING 制品库中的镜像作为持续集成构建环境】进行演示。

步骤一:构建 Docker 镜像

  1. 新建目录,创建 Dockerfile 如下:
# 指定 node.js 版本为 node 12,默认从 Docker Hub 上拉取
FROM node:12

# 安装 pm2
RUN npm install pm2 -g

COPY . .

# 设置容器启动时的命令
CMD [ "pm2-runtime", "start" ]
  1. 运行指令 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 制品库

  1. 进入 CODING 制品库,选择已有制品库或新建制品库,选择指引:

  1. 点击 “使用访问令牌生成配置”,输入密码后,复制并粘贴命令到终端登陆

  1. 给本地镜像打标签
docker tag pm2-test ******/test-dd/test/pm2-test
  1. 推送您的 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 镜像”,选择对应制品库和镜像。

上一篇自建静态网站
文档是否对您有用?
感谢反馈有用
感谢反馈没用