构建计划
构建管理描述了由源代码或程序包构建镜像所需的元数据,包括:源码库配置、语言和构建工具、触发器、软件包信息、构件信息、镜像信息等。用户可基于构建进行镜像的Build和研发PipeLine的定义。
基础构建操作
构建列表及操作
操作步骤
1.登录控制台。
2.点击“产品与服务”选择“软件开发”>“持续集成”>“构建计划”,进入构建管理列表页面。
操作名称 | 操作 | 详解 |
---|---|---|
查询 | 支持模糊查询。
|
|
自定义列表 | 选择您想显示的列表详细信息,最多勾选10个数字。 | |
刷新 | 刷新构建列表。 | |
构建详情 | 点击“构建名称”列中的超级链接,即可进入“构建详情”页面。 | |
执行 | 根据“构建类型”进行独立构建,填写镜像标签名称后,点击“确定”按钮,即可构建镜像并完成打标签的操作。 | |
执行历史 | 查看构建历史。 | |
构建log | 查看构建日志,定时更新,支持手动刷新。 | |
编辑 | 进入“构建编辑”页面。 | |
删除 | 删除构建,此操作不可恢复,请慎重。 | |
复制 | 复制构建 |
源代码构建镜像
菜单路径
“产品与服务”→“软件开发”→“持续集成”→“构建计划”→“创建构建”
操作步骤
1.登录控制台。
2.点击“产品与服务”选择“软件开发”>“持续集成”→“构建计划”。
3.点击“创建构建”,选择“从源代码构建镜像”构建类型,填写构建基本信息。
1)基本信息
属性名称 | 属性说明 |
---|---|
构建名称 | 1-36个字符,只能以字母开头,只可包含字母、数字、点、下划线及中横线。 |
构建类型 | 选择“从源代码构建镜像” |
2)配置源码库信息
属性名称 | 属性说明 |
---|---|
源码库类型 | 存放源代码库的类型。目前支持源码库的类型如下:
|
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 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指令时都是相对于项目根目录 |