构建计划

构建管理描述了由源代码或程序包构建镜像所需的元数据,包括:源码库配置、语言和构建工具、触发器、软件包信息、构件信息、镜像信息等。用户可基于构建进行镜像的Build和研发PipeLine的定义。

基础构建操作

构建列表及操作

操作步骤

1.登录控制台。

2.点击“产品与服务”选择“软件开发”>“持续集成”>“构建计划”,进入构建管理列表页面。

操作名称 操作 详解
查询 支持模糊查询。
  • 构建名称
  • 项目地址
  • 程序包名称
自定义列表 选择您想显示的列表详细信息,最多勾选10个数字。
刷新 刷新构建列表。
构建详情 点击“构建名称”列中的超级链接,即可进入“构建详情”页面。
执行 根据“构建类型”进行独立构建,填写镜像标签名称后,点击“确定”按钮,即可构建镜像并完成打标签的操作。
执行历史
查看构建历史。
构建log
查看构建日志,定时更新,支持手动刷新。
编辑
进入“构建编辑”页面。
删除
删除构建,此操作不可恢复,请慎重。
复制
复制构建

源代码构建镜像

菜单路径

“产品与服务”→“软件开发”→“持续集成”→“构建计划”→“创建构建”

操作步骤

1.登录控制台。

2.点击“产品与服务”选择“软件开发”>“持续集成”→“构建计划”。

3.点击“创建构建”,选择“从源代码构建镜像”构建类型,填写构建基本信息。

1)基本信息

属性名称 属性说明
构建名称 1-36个字符,只能以字母开头,只可包含字母、数字、点、下划线及中横线。
构建类型 选择“从源代码构建镜像”

2)配置源码库信息

属性名称 属性说明
源码库类型 存放源代码库的类型。目前支持源码库的类型如下:
  • 代码托管
  • GitLab
  • 码云
  • GitHub
  • Gitea
Token 生成gitlab API token的操作步骤:
1).使用具有源码项目访问权限和创建webhook权限的用户登录gitlab
2).进入User Settings Access Tokens功能
3).输入token的name并在Scopes中选择 api Access the authenticated user's API选项
4).点击Create personal access token按钮创建 API token
5).复制生成的API token字符串。
项目地址 源代码所在项目的地址。
主分支名称 需要打镜像的源代码所在的分支名称。
验证 验证token与项目地址是否匹配正确。

3)选择语言和构建工具

开发语言 构建工具
Java 支持Gradle、Maven
Go 支持Gradle、Make
Nodejs 支持npm
C# 支持dotnet_core
python 支持python
Markdown 支持gitbook
dockerfile 支持dockerfile
C++ 支持cmake-gcc
ASP.NET 支持ASP.NET
php 支持PHP

4.编译产物

属性名称 属性说明
是否多构建 单构件需要输入构件名称,多构件不需要输入构件名称。
主程序包名称 构建源代码成功后生成的构件的名称,1-128个字符,只可包含字母、数字、点、下划线及中横线
产物路径 生成的构件的存放路径,使用相对路径,且路径名由字母、数字、点号、下划线、/组成,并以/结尾。

5.输出镜像

属性名称 属性说明
镜像项目 请选择构建镜像时所对应的项目。
镜像类型 请选择基础镜像的方式。
基础镜像 支持openJDK8、OpenJDK11、Tomcat8.5(OPenJDk8)、Tomcat7(OpenJDK7)四种镜像
输出镜像架构 支持AMD64 、ARM64和MIPS64EL
输出镜像名称 构建的目标镜像的名称
暴露端口 访问端口(端口范围1~65535),如需输入多个暴露端口,在两个端口之间输入空格,类似8080 8081
时区 请选择时区。
启动参数 启动基础镜像需要的参数,比如数据库、用户名和密码,例如:--db=test --user=test --pwd=123

6.点击“提交”按钮,一个构建工程就创建完了。

7.返回构建列表页面,查看构建状态。

8.执行构建:

  a.点击 并填写输出镜像的tag为test;

  b.等待1-3分钟,点击日志按钮 确认构建完成 。 |

程序包构建镜像

菜单路径

“产品与服务”→“软件开发”→“持续集成”→“构建计划”→“创建构建”

操作步骤

1.登录控制台。

2.点击“产品与服务”选择“软件开发”>“持续集成”→“构建计划”。

3.点击“创建构建”,选择“从程序包构建镜像”构建类型,填写构建基本信息。

属性名称 属性说明
构建名称 请输入正确的内容,只能以字母开头,仅包含字母、数字、点、下划线及中横线
构建类型 选择“从程序包构建镜像”

4.填写构建镜像所需软件包信息:

1)选择已有程序包

属性名称 属性说明
上传方式 选择已有软件包
制品库名称 选择制品库的名称
软件包名称 选择已有软件包名称
软件包版本 选择软件包版本

2)选择新建软件包

属性名称 属性说明
上传方式 选择新建软件包
制品库名称 选择制品库
软件包名称 输入软件包名称,1-128字符,只能以字母开头,只可包含字母、数字、点、下划线及中横线
软件包版本 请输入正确的版本号(可以v或者V或者数字开头,字母、数字、点号、中短线、加号组成,例:v1.0,v1.0.0,1.0.0-alpha,1.0.0-alpha+001
文件 选择程序包文件
上传软件包 上传

5.输出镜像

属性名称 属性说明
镜像项目 请选择构建镜像时所对应的项目。
镜像类型 请选择基础镜像的方式。
基础镜像 支持spring_boot、tomcat8两种基础镜像。
输出镜像名称 构建的目标镜像的名称 。
暴露端口 访问端口(端口范围1~65535),如需输入多个暴露端口,在两个端口之间输入空格,类似8080 8081 。
时区 请选择时区。
启动参数 启动基础镜像需要的参数,比如数据库、用户名和密码,例如:--db=test --user=test --pwd=123

6.点击“提交”按钮,一个构建工程就创建完了。

7.点击“返回”按钮返回构建列表页面,查看构建状态。

8.执行构建:

  a.点击 并填写输出镜像的tag为test;

  b.等待1-3分钟,点击日志按钮 确认构建完成 。 |

源代码构建程序包生成构件

菜单路径

“产品与服务”→“软件开发”→“持续集成”→“构建计划”→“创建构建”

操作步骤

1.登录控制台。

2.点击“产品与服务”选择“软件开发”>“持续集成”→“构建计划”。

3.点击“创建构建”,选择“从源代码构建程序包”构建类型,填写构建基本信息。

1)基本信息

属性名称 属性说明
构建名称 用于识别构建,请输入正确的内容,只能以字母开头,仅包含字母、数字、点、下划线及中横线。
构建类型 根据用户需求选择相应的构建类型,提供三类:从源代码构建镜像、从程序包构建镜像、从源代码构建程序包。

2)源码库配置信息。

属性名称 属性说明
源码库类型 存放源代码库的类型。目前支持源码库的类型如下:
  • 代码托管
  • GitLab
  • 码云
  • GitHub
  • Gitea
输入令牌方式 分为已配置凭据和自定义两种。
访问令牌 生成gitlab API token的操作步骤:
1).使用具有源码项目访问权限和创建webhook权限的用户登录gitlab
2).进入User Settings Access Tokens功能
3).输入token的name并在Scopes中选择 api Access the authenticated user's API选项
4).点击Create personal access token按钮创建 API token
5).复制生成的API token字符串。
项目地址 源代码所在项目的地址。
主分支名称 需要打镜像的源代码所在的分支名称。
验证 验证token与项目地址是否匹配正确。

3)选择语言和构建工具

开发语言 构建工具
Java 支持Gradle、Maven
Go 支持Gradle、Make
Nodejs 支持npm
C# 支持dotnet_core
python 支持python
Markdown 支持gitbook
dockerfile 支持dockerfile
C++ 支持cmake-gcc
ASP.NET 支持ASP.NET
php 支持PHP

5)其他配置

属性 属性含义
上传程序包 从源代码构建程序包

4.点击“提交”按钮,一个构建工程就创建完了。

进阶构建操作

Gradle构建

Maven构建

制作Docker镜像

菜单路径

“产品与服务”→“软件开发”→“持续集成”→“构建计划”→“创建构建”

操作步骤

1.登录控制台。

2.点击“产品与服务”选择“软件开发”>“持续集成”→“构建计划”。

3.点击“创建构建”,选择“从源代码构建镜像”构建类型,填写构建基本信息。

4.配置源码库信息,填写存放Dockerfile文件的项目地址

5.构建工具

属性名称 属性说明
工具类型 选择内置构建工具
开发语言 选择dockerfile
构建工具 dockerfile

6.输出镜像

属性名称 属性说明
镜像项目 请选择构建镜像时所对应的项目
镜像类型 请选择基础镜像的方式
输出镜像架构 支持AMD64和ARM64、ARM还有MIPS64EL
输出镜像名称 请输入输出镜像名称,1-128字符,以小写字母或者数字开头和结尾,只能包含小写字母、数字、点、/、下划线及中横线,不可连续输入特殊字符
Dockerfile路径 使用相对路径,且路径名由字母、数字、点号、下划线、/组成,并以Dockerfile结尾
构建上下文 代码仓库的路径

7.点击“提交”按钮,一个制作Docker镜像构建工程就创建完了。

8.执行构建

使用自定义镜像

构建工具选择自定义镜像

1.新建构建,输入基本信息以及配置源码库

2.进入构建工具选择步骤,选择自定义构建工具(镜像)

属性名称 属性说明
工具类型 选择自定义构建工具(镜像)
镜像项目 输入镜像项目
镜像名称 输入镜像名称
镜像版本 输入镜像版本
构建脚本 输入构建脚本

3.生成构件,自定义构建工具支持构件自主选择

单构件

多构件

属性名称 属性说明
是否多构件 用户根据项目选择单构件/多构件,比如java项目选择为单构件,nodejs8项目选择为多构件
构件名称 构建源代码成功后生成的构件的名称,1-128个字符,只可包含字母、数字、点、下划线及中横线
生成路径 生成的构件的存放路径,使用相对路径,且路径名由字母、数字、点号、下划线、/组成,并以/结尾。

4.镜像选择

镜像方式选择自定义镜像

从源代码构建镜像-镜像方式选择自定义镜像

1.新建构建,构建类型选择从源代码构建镜像

2.进入镜像选择步骤,镜像方式选择自定义镜像

属性名称 属性说明
镜像项目 请选择构建镜像时所对应的项目。
基础镜像类型 选择自定义镜像
选择镜像 下拉框选择由制作Docker镜像制作出的自定义基础镜像,支持模糊输入选择
输出镜像架构 支持AMD64和ARM64、ARM还有MIPS64EL
输出镜像名称 构建的目标镜像的名称
基础镜像项目 输入镜像项目
基础镜像名称 输入镜像名称
基础镜像版本 输入镜像版本
Dockerfile 输入Dockerfile内容不包含选择镜像指令:FROM + *
从程序包构建镜像-镜像方式选择自定义镜像

1.新建构建,构建类型选择从程序包构建镜像

2.进入镜像选择步骤,镜像方式选择自定义镜像

属性名称 属性说明
镜像项目 请选择构建镜像时所对应的项目。
镜像类型 选择自定义镜像
选择镜像 下拉框选择由制作Docker镜像制作出的自定义基础镜像,支持模糊输入选择
输出镜像架构 支持AMD64和ARM64、ARM还有MIPS64EL
输出镜像名称 构建的目标镜像的名称
基础镜像项目 输入镜像项目
基础镜像名称 输入镜像名称
基础镜像版本 输入镜像版本
Dockerfile 输入Dockerfile内容不包含选择镜像指令:FROM + *
两种方式异同点
相同点 不同点
镜像都是使用制作Docker镜像制作的镜像,Dockerfile输入皆不包含FROM指令 (1) 从源代码构建镜像,Dockerfile内容中ADD,COPY指令可以添加源代码项目任意内容(包括由构建脚本生成的构件)到镜像,即会自动在项目根目录下生成包含输入Dockerfile内容的Dockerfile文件,并在项目根目下执行docker build -t outputImageName .
(2)从程序包构建镜像,Dockerfile内容中ADD,COPY指令源参数需设置为temp,即上传的程序包都会位于temp文件夹下,系统会在temp同一级下生成一个包含输入Dockerfile内容的Dockerfile文件,并在Dockerfile文件所在目录下执行docker build -t outputImageName .

镜像方式选择Dockerfile

前置准备

代码仓库中需包含源代码以及Dockerfile文件

基本步骤

1.新建构建,填写基本信息,构建类型选择从源代码构建镜像

2.配置源码库信息

3.选择构建工具,触发方式以及构件配置

4.进入镜像选择步骤,镜像方式Dockerfile

属性名称 属性说明
镜像项目 请选择构建镜像时所对应的项目。
镜像类型 选择Dockerfile
输出镜像架构 支持AMD64和ARM64还有MIPS64EL
输出镜像名称 构建的目标镜像的名称
Dockerfile路径 输入Dockerfile文件在源代码项目中的相对路径
构建上下文 代码仓库的路径
用户需知
属性名称 属性说明
基本知识 由Dockerfile制作镜像由两部分决定,一是Dockerfile文件的路径,二是build context即构建上下文;通常执行docker build -t outputImageName -f DockerfilePath buildContext,其中的DockerfilePath即指明Dockerfile文件的路径,而buildContext则指明构建上下文,如果buildContext为一点("."),表示构建上下文为docker build执行路径。Docker会把buildContext加到Docker引擎中,作为ADD,COPY指令的源目标选择。
本系统docker build执行方式 目前系统默认在项目根目录下执行docker build -t outputImageName -f DockerfilePath . ,即buildContext为项目根目录,把整个项目加载到Docker引擎中,无论用户的Dockerfile文件位于什么位置,使用ADD,COPY指令时都是相对于项目根目录