创建/配置/执行流水线-j9九游会登录
流水线是一个可视化的自动化任务调度平台,需要配置编译构建自动化任务(包括添加业务包构建、iac自动部署包构建任务)才可完整使用,对这些自动化任务进行自定义编排后,一次配置后即可一键自动化触发调度执行,最终生成代码构建产物,避免频繁低效的手工操作。
创建流水线
- 在开发中心j9九游会登录首页下方的“我的团队”区域,选择需要操作的团队卡片,进入该团队空间。
如果该团队关联多个服务,可在左侧团队名称右侧单击
切换团队关联的其他服务。也可在左侧团队名称右侧单击
切换其他团队。 - 在左侧导航栏选择“流水线管理”。
- 在“流水线管理”页面,选择服务版本(即创建版本中创建好的版本),单击“关联流水线”,在“关联流水线”面板,根据界面提示单击“立即前往”新建流水线,如图1所示。
图1 新建流水线
- 单击“新建流水线”,进入“新建流水线 > 基本信息”页面,当前服务即为所属项目,填写流水线名称(以“adadss_pipeline”为例),选择流水线源“repo”,并配置相关参数,流水线源及相关参数说明如表1所示。
表1 新建流水线参数说明 流水线源
参数项
说明
repo
提供企业代码托管的全方位服务,为软件开发者提供基于git的在线代码托管服务。
代码仓
必填项,选择可用的源码仓库(以创建好的“adadss”代码仓为例)。
默认分支
必填项,手工或定时执行流水线时默认使用的分支,默认master。
codearts repo https授权
非必填项,配置授权扩展点以提升代码库操作权限,主要用于微服务变更流水线和部分仓库操作插件。
别名
非必填项,输入别名,则会生成该仓库对应的相关系统参数(可在参数设置页面查看),否则不会生成。
用户选择repo流水线源时,如果设置了仓库别名,则会在系统预定义参数页面生成该仓库对应的系统参数,否则不生成。
- 配置基本信息完成后,单击“下一步”。
进入“新建流水线 > 选择模板”页面,选择“空模板”,即不使用模板,直接新建。
- 单击“确定”,默认进入流水线的“任务编排”页签。
在流水线“任务编排”页面,执行后续的配置流水线任务。
配置流水线(添加代码检查任务)
- 在流水线的“任务编排”页面,单击
或者
。 - 单击
,在“编辑阶段”页面,修改“阶段名称”为“代码检查”,并将“总是运行”设置为“否”(选择“是”,表示流水线执行时,该阶段下的任务默认选中必须执行且不可取消;选择“否”,表示流水线执行时,该阶段下的任务默认选中但可以取消。),然后单击“确定”。 - 在流水线的“代码检查”阶段,单击“新建任务”。
- 在“新建任务”页面的右侧区域,选择“代码检查”页签,搜索“codeartscheck代码检查”并将鼠标移至该插件卡片,单击“添加”,将此插件添加到任务中。
- 在“codeartscheck代码检查”页面右侧区域“请选择需要调用的任务”处单击“点击创建”。
- 在“新建任务”页面,参照表2配置参数信息(此处以创建repo源码源检查任务为例)。
表2 参数说明 参数项
描述
所属项目
任务所属项目。默认填写,无需设置。
新建方式
支持直接新建、基于自定义模板新建。
代码源
选择repo,从代码托管拉取代码进行检查。
任务名称
代码检查任务名称,可自定义。
代码仓
选择需要检查的代码仓库。
默认分支
填写需要检查的仓库分支名称。
检查语言
选择需要检查的代码语言。
- 单击“新建任务”,进入“代码检查详情”页面,单击“开始检查”,即可执行代码检查任务。执行完代码检查任务后,还可以根据需要查看检查结果。
- 返回5的“任务配置”页面,在“请选择需要调度的任务”下拉列表中选择7配置完成的代码检查任务,“仓库”在选择调度的任务后,自动关联且不可修改,其他参数无需配置,保持默认即可。
- 单击“确定”,添加代码检查任务完成。
- 单击“任务编排”页面右上角“保存”,保存流水线的任务配置。
配置流水线(添加业务包构建任务)
- 在流水线的“任务编排”页面,单击
或者
。 - 单击
,在“编辑阶段”页面,修改“阶段名称”为“构建阶段”,并将“总是运行”设置为“是”(选择“是”,表示流水线执行时,该阶段下的任务默认选中必须执行且不可取消;选择“否”,表示流水线执行时,该阶段下的任务默认选中但可以取消。),然后单击“确定”。 - 在流水线的“构建阶段”,单击“新建任务”。
- 在“新建任务”页面的右侧区域,选择“构建”页签,搜索“build构建”并将鼠标移至该插件卡片,单击“添加”,将此插件添加到任务中。
- 在“build构建”页面右侧区域“请选择需要调用的任务”处单击“点击创建”,如图2所示。
图2 build构建任务配置
- 在“新建构建任务”页面的“基本信息”页面,自定义任务名称(以“adadss-build”为例),归属项目默认为当前服务,源码源选择“repo”,选择对应的代码仓库(以创建好的“adadss”仓库为例)以及分支“master”,单击“下一步”。
- 在“构建模板”页面,选择“空白构建模板”模板,然后单击“确定”,进入“构建步骤”的“图形化”页签,该页面的“构建环境配置”和“代码下线配置”无需配置,保持默认配置即可。
- 配置构建步骤“maven构建”。
- 返回“构建步骤”页签,单击“点击添加构建步骤”,在右侧“添加步骤”页面搜索“maven构建”,鼠标移至插件卡片并单击“添加”。
- 执行maven构建命令将业务代码打包,不同项目有所不同。
参考示例:mvn-dassembly clean compile package -dmaven.test.skip=true -u -t4
如果某些jar包依赖不到,可将仓库地址添加在setting配置的公有依赖仓库。
- 配置镜像构建。
- 登录华为云容器镜像服务控制台,在左侧导航栏选择“我的镜像”,单击右上角“页面上传”,在“页面上传”对话框,创建组织(必须使用华为云账号),单击“选择镜像文件”,选择已经准备好的基础镜像tar包,单击“开始上传”,待任务进度显示“上传完成”,表示镜像文件上传成功。
基础镜像tar包仅需上传一次,后续可直接从镜像文件列表中选取。
- 在镜像仓库找到9.a上传的基础镜像,参照图3复制镜像地址。
图3 复制镜像地址
- 将9.b复制的镜像地址粘贴到dockerfile文件中第一行from命令后,如图4所示。
图4 将镜像地址粘贴到dockerfile文件中
- 返回华为云容器镜像服务控制台镜像列表中单击镜像tar包名称,进入镜像详情页面,选择“pull/push指南”页签,单击“操作步骤”中的“生成登录指令”。
- 在“登录指令”对话框中的“临时登录指令”框的指令末尾处单击
,复制临时登录指令,如图5所示。
图5 复制临时登录指令
- 返回“构建步骤”页面,单击“添加步骤”,在右侧“添加步骤”页面搜索“执行docker命令”,鼠标移至该插件卡片并单击“添加”。
- 单击“执行docker命令”步骤,在右侧“命令”参数下单击“添加”添加docker命令,在“命令”下拉框中选择“login”,参数框中输入“-u cn-north-7@k5x8gvn5b4h4b8kb9sdo -p 1dd00acee886bd05886cded19f5af1cb1e96326e4354fc0f3f493f12a3586518 swr.cn-north-7.myhuaweicloud.com”,登录环境以便dockerfile文件中可正常获取基础镜像。
- 在“操作”列单击“ ”继续添加docker命令,“命令”下拉框中选择“build”,参数框中输入“-t helloworldservice:23.11.02.1 -f ./deploy_docker/dockerfile .”,指定代码仓中的dockerfile文件,构建镜像。
工作目录一般为根目录。
- 在“操作”列单击“ ”继续添加docker命令,“命令”下拉框中选择“save”,参数框中输入“-o helloworldservice.23.11.02.1.tar helloworldservice:23.11.02.1”,将镜像包保存为tar包。至此,添加docker命令完成,如图6所示。
图6 执行docker命令
- 登录华为云容器镜像服务控制台,在左侧导航栏选择“我的镜像”,单击右上角“页面上传”,在“页面上传”对话框,创建组织(必须使用华为云账号),单击“选择镜像文件”,选择已经准备好的基础镜像tar包,单击“开始上传”,待任务进度显示“上传完成”,表示镜像文件上传成功。
- 返回“构建步骤”页面,单击“添加步骤”,在右侧“添加步骤”页面搜索“maven构建”,鼠标移至插件卡片并单击“添加”。执行zip命令,将tar包与业务代码中的package.json文件直接压缩成一个zip包。
参考命令:ziphelloworldservice_23.11.02.1.zip helloworldservice.23.11.02.1.tar package.json
- 继续单击“添加步骤”,添加“上传文件到obs”插件,在“上传文件到obs”页面,参照表3配置相关参数。
表3 “上传文件到obs”(业务包)步骤配置的参数说明 参数名称
参数说明
步骤显示名称
构建步骤的名称,默认为“上传文件到obs”,保持默认或自定义修改均可。
授权用户
在下拉列表选择:
- 当前用户:上传到当前租户的obs桶。
- 其他用户:可以通过选择iam账号的方式上传到指定租户的obs桶。
iam账号
“授权用户”选择“其他用户”时需配置此参数,配置步骤如下:
- 单击“管理iam账号”,进入“服务扩展点管理”页面。
- 单击“新建服务扩展点”,选择“iam账户”,弹出“新建服务扩展点”对话框,填写以下参数,补充租户下用户的ak、sk即可:
- 连接名称:服务扩展点的名称。例如“obs权限”。
- access key id:访问密钥id(ak),。
- secret access key:秘密访问密钥(sk),。
- 信息填写完成,单击“确定”。
构建产物路径
路径为10的zip包的相对路径或输入*模糊匹配(如“./demoserviceb/*.zip”)
桶名
用户自定义构建结果上传到的目标obs桶名。
obs存储目录
用户自定义构建结果在obs上的存储目录
obs存储文件名
非必填项,构建结果在obs上的存储文件名(不包含目录),留空时可上传多个文件,取构建产物文件名为obs存储文件名;不为空时只能上传单个文件,如application.jar。
是否上传文件夹
非必填项,可选择是否开启上传文件夹。
obs头域
非必填项,上传文件时加入一个或多个自定义的响应头,当用户下载此对象或查询此对象元数据时,加入的自定义响应头会在返回消息的头域中出现。如:“键”填写成“x-frame-options”,“值”填写成“false”,即可禁止obs中存放的网页被第三方网页嵌入。
- 单击右上角“新建”,配置构建任务完成。
- 返回5的“任务配置”页面,在“请选择需要调用的任务”下拉列表中选择12配置完成的构建任务,“仓库”下拉列表选择创建代码仓库中已创建的仓库,其他参数无需配置,保持默认即可。
- 单击“确定”,添加业务包构建任务完成。
- 单击“任务编排”页面右上角“保存”,保存流水线的任务配置。
配置流水线(添加iac自动部署包构建任务)
- 在流水线的“任务编排”页面的“构建阶段”,单击
。 - 在“新建任务”页面的右侧区域,选择“构建”页签,搜索“build构建”插件并将鼠标移至该插件卡片,单击“添加”,将此插件添加到任务中。
- 在“build构建”页面右侧区域,设置iac自动部署包构建任务“名称”(如设置名称为“build构建_iac”),在“请选择需要调用的任务”处单击“点击创建”。
- 在“新建构建任务 > 基本信息”页面,自定义任务名称(以“adadss-build-iac”为例),归属项目默认为当前服务,源码源选择“repo”,选择对应的代码仓库(例如“adadss”)以及分支“master”,单击“下一步”。
- 在“新建构建任务 > 构建模板”页面,选择“空白构建模板”模板,然后单击“确定”,进入“构建步骤”的“图形化”页签,该页面的“构建环境配置”和“代码下线配置”无需配置,保持默认配置即可。
- 返回“构建步骤”页签,单击“点击添加构建步骤”,在右侧“添加步骤”页面搜索“maven构建”后单击“添加”。
- 在右侧“maven构建”页面的命令窗口,输入如下示例的构建命令,以图7示例,参考示例命令:4mvn“-am -pl iacspec -dassembly clean compile package -dmaven.test.skip=true -u -t4”,通过执行指定目录下的pom.xml文件将helloworld文件夹下的文件压缩成zip文件。
图7中“build.sh”、“app_define.json”、“iacspec.xml”、“pom.xml”这些文件为自定义的脚本文件。
图7 压缩zip包
- 继续单击“添加步骤”,在右侧“添加步骤”页面搜索“上传文件到obs”,鼠标移至该插件单击“添加”将其添加到构建步骤中。
- 单击“上传文件到obs”步骤,在“上传文件到obs”页面,参照表4配置相关参数。
表4 “上传文件到obs”(iac自动部署包)步骤配置的参数说明 参数名称
参数说明
步骤显示名称
构建步骤的名称,默认为“上传文件到obs”,保持默认或自定义修改均可。
授权用户
在下拉列表选择:
- 当前用户:上传到当前租户的obs桶。
- 其他用户:可以通过选择iam账号的方式上传到指定租户的obs桶。
iam账号
“授权用户”选择“其他用户”时需配置此参数,配置步骤如下:
- 单击“管理iam账号”,进入“服务扩展点管理”页面。
- 单击“新建服务扩展点”,选择“iam账户”,弹出“新建服务扩展点”对话框,填写以下参数,补充租户下用户的ak、sk即可:
- 连接名称:服务扩展点的名称。例如“obs权限”。
- access key id:访问密钥id(ak),。
- secret access key:秘密访问密钥(sk),。
- 信息填写完成,单击“确定”。
构建产物路径
路径为7的zip包的相对路径或输入*模糊匹配(如“./demoserviceb/*.zip”)
桶名
用户自定义构建结果上传到的目标obs桶名。
obs存储目录
用户构建结果在obs上的存储目录。
obs存储文件名
非必填项,构建结果在obs上的存储文件名(不包含目录),留空时可上传多个文件,取构建产物文件名为obs存储文件名;不为空时只能上传单个文件,如application.jar。
是否上传文件夹
非必填项,可选择是否开启上传文件夹。
obs头域
非必填项,上传文件时加入一个或多个自定义的响应头,当用户下载此对象或查询此对象元数据时,加入的自定义响应头会在返回消息的头域中出现。如:“键”填写成“x-frame-options”,“值”填写成“false”,即可禁止obs中存放的网页被第三方网页嵌入。
- 单击右上角“保存”,配置iac自动部署包构建任务完成。
- 返回3的“任务配置”页面,在“请选择需要调用的任务”下拉列表中选择10配置完成的iac自动部署包构建任务,“仓库”下拉列表选择创建代码仓库中已创建的仓库,其他参数无需配置,保持默认即可。
- 单击“确定”,添加iac自动部署包构建任务完成。
- 单击“任务编排”页面右上角“保存”,保存流水线的任务配置。
关联流水线
- 返回开发中心的“流水线管理”页面,单击右上角“关联流水线”。
- 在“关联流水线”页面,勾选已创建和配置完成的流水线(以“adadss_pipeline”为例)。
- 单击“确定”。所选流水线与当前服务版本绑定。
执行流水线
- 在当前服务版本的流水线列表中已关联的流水线所在行的“操作”列,单击“执行”。
- 在“执行构建”对话框,单击“确定”,流水线开始构建版本的发布软件包。
- 在流水线进行中,单击“操作”列“终止”可停止构建。
- 一个版本可多次重复执行发布构建,但以最后一次的构建结果为准。
版本基线化
执行基线化的前提是流水线已成功执行完成。
- 在开发中心j9九游会登录首页下方的“我的团队”区域,选择需要操作的团队卡片,进入该团队空间。
如果该团队关联多个服务,可在顶部切换团队关联的其他服务。也可在顶部切换其他团队。
- 在左侧导航栏选择“版本管理”,在“版本管理”页面的版本列表中,单击版本号,进入版本详情页面。
- 在版本详情页面的“版本持续交付”区域,选择“持续开发 > 版本基线化”。
- 在“版本基线化”页面,单击“添加基线化软件包”(最多可添加8个基线化软件包),弹出“添加基线化软件包”页面。
- 在“选择流水线”下拉列表选择流水线,确认最近一次发布构建信息。
- 单击右下角“基线化”。开发中心后台将记录流水线发布构建的软件包的存储路径,用于版本发布时获取。
在“版本基线化”页面“版本基线化信息”区域,可查看相应流水线详情,在“软件包列表”中可查看流水线构建的软件包相关信息(如文件位置、文件大小等)。
相关文档
意见反馈
文档内容是否对您有帮助?
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨