概述

什么是制品中心

制品中心是研发云平台提供的,用于存储和管理项目团队构建过程输出物的功能模块,输出物包括软件包、容器镜像、应用配置文件等二进制制品,并统一管理项目构建依赖的第三方组件制品。

制品中心支持业界主流技术栈的制品管理,包括maven、docker、npm、python、go、rubyGems等20多种。针对还不能明确归类的制品文件,支持以通用Generic类型制品方式进行存储。

image-20210929164633257

制品中心还支持常用制品的组件安全及许可扫描分析,包括maven、docker、npm、python、go、rubyGems等。

制品仓库的类型

制品中心以制品仓库形式组织和管理制品。制品仓库包括本地仓库、远程仓库、虚拟仓库三种类型:

针对常用制品类型,制品中心已创建公共虚拟仓库(例如public-maven- virtual),聚合常用制品类型的多个远程仓库。并针对项目编译构建依赖的比翼组件、天翼paas组件,创建了对应的公共虚拟仓库,项目组根据需要可聚合此类公共虚拟仓库到项目虚拟仓库。

制品中心与组件广场协同提供共享仓库功能,项目组可通过项目虚拟仓库聚合项目本地仓库、二方库、内部组件共享仓库、公共虚拟仓库,实现通过一个项目虚拟仓库下载编译构建所需的全部依赖组件。

制品中心的权限管理

制品中心的使用者包含制品仓库管理员、制品仓库开发人员、制品仓库只读人员。其中,项目负责人/项目管理员有权创建制品仓库,制品仓库的创建者缺省即为该制品仓库的管理员。

下面分别说明制品仓库管理员、制品仓库开发人员、制品仓库只读人员的权限。

制品仓库管理员

制品仓库开发人员

制品仓库只读人员

制品仓库的创建与配置

创建本地制品仓库

项目负责人/项目管理员登录研发云,进入“项目设置”——“制品”,点击“新建本地制品库”。

image-20220228222943903

选择制品类型,制品中心通过制品类型实现制品包的索引。

image-20211012104448735

选择仓库生命周期,其中snapshot表示开发阶段的仓库,对于maven的snapshots版本和docker镜像最多保存5个版本,当上传制品版本超过5个,旧的制品将被覆盖。release表示发布仓库,保存制品的全部版本。

选择制品仓库安全通知策略,其中实时通知表示检测到制品高危安全风险问题时实时通知仓库管理员。每日通知表示每日汇总仓库中制品高危安全风险问题,一次性通知仓库管理员。不通知表示检测到仓库中制品高危安全风险问题时不通知仓库管理员,仓库管理员可进入“制品库安全”界面查看仓库中的制品安全问题。

image-20220627111345976

仓库名称自动生成,检查确认仓库名称。填写仓库描述信息,可填写介绍或用途等。点击确定完成制品仓库创建。

注意:maven的依赖包区分snapshots版本和release版本,最佳实践是使用snapshot仓库存储和管理开发过程中的snapshots版本包。

创建项目虚拟仓库

项目负责人/项目管理员登录研发云,进入“项目设置”——“制品”,点击“新建虚拟制品库”。

image-20220228223029738

选择制品类型,制品中心通过制品类型实现制品包的索引。

image-20211012104515146

选择仓库生命周期,其中snapshot表示开发阶段的仓库。release表示发布仓库。仓库名称自动生成,检查确认仓库名称,填写仓库描述信息,可填写介绍或用途等。

勾选虚拟仓库包含的本地制品仓库、共享库和公共虚拟库。 包含的仓库按项目实际需要选择,选择的仓库越多则通过项目虚拟库下载依赖所需的时间越多。

如果需要通过项目虚拟仓库上传制品,则选择上传到本地仓库设置为“是”,并选择项目本地仓库。设置后通过项目虚拟仓库上传制品,则上传到所选的项目本地仓库。

点击确定完成项目虚拟制品仓库创建。

通过虚拟制品仓库下载制品时,系统按已选的仓库列表顺序进行查找,通过鼠标上下拖动列表中的仓库,仓库管理员可以调整所选仓库的查找顺序。建议按本地仓库、内部共享库、二方库、公共虚拟仓库的顺序排列所选仓库,当一个制品同时存储在多个仓库中,如果在列表前面的仓库中查到制品就会直接返回给用户。

image-20230419165021318

设置本地制品仓库访问权限

制品仓库管理员登录研发云,进入“项目设置”——“制品”,查看本地制品仓库列表,点击列表右侧的编辑操作键,进入仓库权限管理设置。

image-20220228223059375

选择仓库管理人员、仓库开发人员、仓库只读人员权限配置tab页,从项目团队成员中选择对应人员,确认保存。

image-20211012104622266

制品仓库管理员还可以直接从项目视图进入,选择“项目制品库”,在仓库树状列表中选择要授予权限的制品仓库,在页面右上角点击编辑仓库图标。

image-20220207110459548

选择仓库管理人员、仓库开发人员、仓库只读人员权限配置tab页,从项目团队成员中选择对应人员,确认保存。

image-20220224142637735

设置项目虚拟仓库管理人员权限

项目虚拟仓库的读写权限跟随所聚合的仓库的读写权限。如果一个成员对所聚合的本地仓库没有读权限,则通过项目虚拟库也不能查看及下载这个本地仓库的制品。

项目虚拟仓库可设置管理人员权限,对项目虚拟仓库的信息及所聚合的仓库进行修改。

image-20220803083237741

删除制品仓库

制品仓库管理员登录研发云,进入“项目设置”——“制品”,查看本地或虚拟制品仓库列表,点击列表右侧的删除操作键。

image-20220228223153892

注:删除本地制品仓库,仓库中已有的制品将全部被删除,请谨慎操作!

用户APIKey管理及制品的查看与下载

API Key管理

API Key是从项目本地制品仓库上传、下载制品的认证凭据,用于与用户账号一起校验用户身份。

开发人员登录研发云,进入项目视图,从左侧菜单栏选择“制品”,选择“项目制品库”,在页面右上角点击“我的APIKey设置”按钮。

image-20220228223240735

点击“生成API Key”,生成API Key。

image-20220228223337756

如果已经生成API Key,在“我的APIKey设置”中可操作复制API Key、重新生成API Key,或者删除API Key。

image-20220228223409524

注:

1、研发云制品中心根据项目属性是否为“科研”、“云网”、“云公司”项目,使用的制品库集群不同,因而在不同项目中使用的APIkey可能不同。开发人员需要使用对应项目的制品仓库快速指引地址和API key,才能成功上传及下载制品。

2、项目管理员创建流水线前,需要先检查项目制品库页面的API key是否生成。若未生成API key,需先参考此处指引生成API key,流水线才能成功运行。

用户自助解锁

当用户认证身份时,API key输入错误超过5次,用户将被锁定,不能进行制品查看与上传下载等操作。用户可进入项目——制品——项目制品库,页面弹出“用户锁定”提示,用户可点击“自助解锁界面”,前往自助解锁页面。

image-20230202223429755

在自助解锁页面,用户点击获取验证码,系统将发送短信验证码到用户账号关联的手机号码。用户输入短信验证码,点击“确认解锁”,即可实现用户锁定状态的解除。

image-20230202223827022

查看本地制品仓库及制品

开发人员登录研发云,进入项目视图,从左侧菜单栏选择“制品”,选择“项目制品库”。右侧展示项目已有的制品仓库。点击制品仓库,以树状结构展示仓库下面的目录以及制品。

点击某个制品文件,右侧展示制品在制品仓库的路径、发布者、制品创建及修改时间、制品文件大小、下载次数及最近下载者等信息。

image-20220628110536924

点击制品信息的右上角图标,可进行制品下载及制品删除等操作。

如果制品树状目录中仓库及制品目录、制品文件较多,可在已展开的目录树中输入关键字进行筛选。

检索制品及制品下载、删除

开发人员登录研发云,进入项目视图,从左侧菜单栏选择“制品”,选择“项目制品库”。右侧项目制品搜索栏可按制品名称或所依赖的组件名称进行制品搜索。

在搜索类型选择制品,输入制品名称关键字,点击查询按钮,下方显示符合搜索条件的制品列表。列表中显示制品名称、文件类型还是目录类型、所在的制品仓库名称、所在路径。并可选择某个制品进行下载及删除操作。

点击制品文件名,跳转显示制品及所在的仓库目录结构。

image-20220627143536461

如果开发人员需要根据组件名称反查依赖该组件的制品,可在搜索类型选择组件,输入组件名称关键字,点击查询按钮,下方显示依赖了该组件的制品列表。列表中显示制品名称、文件类型还是目录类型、所在的制品仓库名称、路径。并可选择某个制品进行下载及删除操作。

点击制品文件名,跳转显示制品及所在的仓库目录结构。

image-20220627144317090

查看公共制品仓库

开发人员登录研发云,进入项目视图,从左侧菜单栏选择“制品”,选择公共制品库。右侧显示系统已经创建的公共虚拟制品仓库。

每个公共制品仓库包含一个或多个远程仓库,显示每个远程仓库的远端源地址。只要远端源提供的组件,通过公共虚拟制品仓库即可代理下载。

公共制品仓库的使用指引可直接查看每个仓库对应的使用指引。

项目组如果有新增的官方代理源地址信息,可联系研发云平台运维人员配置增加。

image-20230419180554836

点击某个公共制品仓库名称,可查看该仓库已代理缓存到研发云制品库的第三方组件包。项目组下载使用第三方组件包的地址可参考基本信息的快速指引地址。对于未缓存的组件,只要远端源仓库存在,也可通过公共制品库代理下载。

image-20230419181542051

项目制品库和公共制品库使用设置

项目制品库和公共制品库在用户开发环境中使用设置参考“项目制品库使用指引”,包含常用制品包的上传及下载使用说明。

在研发云流水线中默认会使用公共制品库下载依赖,如果在构建阶段需要使用项目制品库,可在流水线的构建步骤中选择使用私有依赖仓库,配置对应的项目制品库。具体操作参考流水线配置相关指引。

web页面上传制品

制品中心支持generic、maven、npm、python仓库通过页面上传制品。其中generic仓库不限上传的制品的文件格式,maven、npm和python为了满足客户端下载依赖需求,必须上传相应格式的打包文件。

如果maven、npm和python制品作为普通文件存储管理,不是作为其他项目编译构建的依赖包使用,建议直接上传到generic仓库。

除了本节介绍的页面上传制品方法,还可通过命令行工具上传制品。具体使用方法参考“项目制品库使用指引”,包含常用制品包的上传方法说明。

Generic仓库上传制品

开发人员登录研发云,进入项目视图,从左侧菜单栏选择“制品”,选择“项目制品库”,选择一个generic制品仓库,点击上传制品按钮。

image-20221120222352721

在弹出的对话框中,选择本地电脑上的文件,根据需要可设置目标路径,缺省在仓库根目录。点击上传即可。

image-20230509141013027

对于Generic仓库的页面上传,可一次选择多个文件进行批量上传。上传页面还可以设置制品元数据,用于后续筛选制品操作。

npm仓库上传制品

开发人员登录研发云,进入项目视图,从左侧菜单栏选择“制品”,选择“项目制品库”,选择一个npm制品仓库,点击上传制品按钮。

image-20221120223130075

在弹出的对话框中,选择本地电脑上的npm制品包,根据需要可设置目标路径,点击上传即可。

image-20230509150836192

python仓库上传制品

开发人员登录研发云,进入项目视图,从左侧菜单栏选择“制品”,选择“项目制品库”,选择一个python制品仓库,点击上传制品按钮。

image-20221120223826632

在弹出的对话框中,选择本地电脑上的python制品包,根据需要可设置目标路径,缺省在仓库根目录。点击上传即可。

image-20221120223904180

maven仓库上传制品

开发人员登录研发云,进入项目视图,从左侧菜单栏选择“制品”,选择“项目制品库”,选择一个maven制品仓库,点击上传制品按钮。注意snapshots版本的包务必上传到snapshot类型的maven仓库。

image-20221120224530377

在弹出的对话框中,选择本地电脑上的maven制品包,系统自动会解析maven制品包的坐标参数,开发人员检查确认是否符合预期,如果不符合可进行修改,点击上传即可。

image-20221120224758690

项目私有依赖jar包上传制品库指引

通过研发云web页面上传

  1. 在制品仓库树状图中选择要上传的目标仓库,如仓库类型是maven

  2. 点击右上角上传菜单

  3. 选择本机文件jar包,检查制品坐标信息,点击上传将选择的文件上传到所选择的目标制品仓库。注意snapshots版本的包务必上传到snapshot类型的maven仓库。

image-20210812155235242

4.如果jar包有对应的pom文件,建议也通过页面一并上传。

通过脚本批量导入

  1. 批量导入本地repository目录的jar包及pom文件的linux脚本示例如下,脚本在本地repository目录下执行。

  2. 执行脚本时带三个参数,-u 用户账号 -p 用户访问制品库的API key -r 要上传的制品仓库路径,制品仓库路径格式是(https://artifact.srdcloud.cn/artifactory/目标制品仓库名)

注意snapshots版本的包务必上传到snapshot类型的maven仓库。

  1. 还可以批量导入对应的sha1文件

制品元数据查看与设置

制品元数据记录制品开发构建、测试等全生命周期过程中产生的相关数据。项目开发人员也可以自定义元数据,丰富制品文件的关联信息。

制品元数据查看

开发人员登录研发云,进入项目视图,从左侧菜单栏选择“制品”,选择“项目制品库”。右侧以树状结构展示该开发人员有权限查看的项目制品仓库。选择制品仓库及已有的制品文件。右侧页面点击制品元数据菜单。下方展示已有的元数据的关键词和值信息。

当前对于使用流水线编译构建并上传的制品,可展示源代码相关信息,比如源代码的提交commit id、源代码仓库信息等。

image-20230202134459035

制品元数据设置

开发人员点击新增元数据,可自定义关键词,并填写值信息,设置自定义元数据信息。

image-20220628154235880

通过元数据搜索制品

开发人员进行制品搜索时,可以增加元数据条件搜索制品。开发人员登录研发云,进入项目视图,从左侧菜单栏选择“制品”,选择“项目制品库”,在页面上方搜索框输入制品名称关键字,点击右侧高级搜索框,可输入元数据条件,搜索符合条件的制品。

image-20230202140000360

制品安全的查看与配置

查看制品仓库安全

开发人员登录研发云,进入项目视图,从左侧菜单栏选择“制品”,选择“项目制品库”。右侧以树状结构展示该开发人员有权限查看的项目制品仓库。选择某个制品仓库,右侧页面展示仓库的基本信息和制品仓库安全信息。

点击制品库安全tab,展示该仓库中所有存在高危风险安全漏洞的制品信息列表,包括受影响的制品名称、问题严重性等级、问题类型、问题描述、问题扫描创建时间等信息。并可以通过上述信息查询筛选开发人员关注的安全问题。

image-20220207142310060

点击列表中安全问题描述,展示该安全问题的详情。开发人员可重点关注问题组件、问题版本、修复版本、影响路径等信息,根据上述信息进行该组件安全问题修复。

image-20220224144033745

点击列表中受影响的制品名称,跳转到仓库中该制品文件信息展示。

查看制品文件安全

开发人员在项目制品库树状图中选择某个制品,右侧页面展示制品的基本信息和制品安全信息。

点击制品安全tab,在页面下方展示该制品所包含的组件安全及许可证汇总信息,包括制品违规(高危安全漏洞)数量、制品安全问题数量、许可证数量等。

image-20220207163734054

页面下方分区域展示了制品所包含的组件的违规(高危安全漏洞)问题、制品安全(全部安全漏洞)问题、许可证的列表。

image-20220207163849631

制品违规列表展示高危安全漏洞问题,包括严重性等级、问题类型、问题描述、问题组件及问题扫描创建时间等信息。在查询框输入问题描述或组件名称关键字可进行查询筛选。

点击制品违规列表中的问题描述或问题组件信息,展示该违规安全问题的详情。开发人员可重点关注问题组件、问题组件版本、修复版本、影响制品、影响路径等信息,根据上述信息进行问题修复。

image-20220207164413195

制品安全列表展示制品所包含的组件的全部安全漏洞问题,包括严重性等级、问题类型、问题描述、问题组件、修复版本及问题扫描创建时间等信息。在查询框输入问题描述或组件名称关键字可进行查询筛选。

点击制品安全列表中的问题描述或问题组件信息,展示该安全问题的详情。

image-20220207165048834

开发人员可重点关注问题组件、问题组件版本、修复版本、影响制品、影响路径等信息,根据上述信息进行问题修复。

image-20220207171218542

制品许可列表展示制品所包含的组件的许可证信息,包括组件名称、许可证等信息。在查询框输入组件名称或许可证关键字可进行查询筛选。

查看制品安全高危安全风险提醒

开发人员在项目制品库树状图中可查看哪些仓库存在新增的高危安全风险问题,展开树状图通过红色标志线可关联到具体新增高危安全风险问题的制品文件,并在制品库安全展示新增的高危安全风险问题数量。

image-20220207172504276

如果开发人员查看了对应的制品安全后,则高危安全风险提示自动清除。

开发人员也可以点击树状图上方的更多操作按钮。点击“清除高危漏洞提醒”,则清除全部未查看的制品高危安全风险提醒。

image-20220207173017357

查看制品高危安全漏洞消息

开发人员登录研发云WEB界面,在右上角点击消息图标。选择查看全部消息。

image-20220208111818802

在全部消息页面,点击【研发云- 制品】消息,可查看制品高危安全漏洞通知消息内容,消息分为制品上传后扫描的高危安全漏洞通知和漏洞数据库更新产生的新增高危安全漏洞通知两种。

image-20220208112103757

点击消息内容的制品名称,跳转到该制品文件的制品安全查看页面。

设置制品仓库的高危安全漏洞消息通知策略

制品仓库管理员在编辑制品仓库页面,可设置安全通知的策略,分为实时通知、每日通知和不通知三种。

实时通知指系统扫描到该制品仓库中的制品存在高危安全漏洞时,实时发送消息到仓库管理员和制品上传人员。包括制品上传到制品仓库和漏洞数据库更新触发扫描两种情况。

每日通知指系统汇总该制品仓库中所有制品新增的高危安全漏洞信息,每日发送一次消息到仓库管理员和制品上传人员。

不通知指系统扫描到制品存在高危安全漏洞时,不发送消息。需要仓库管理员和开发人员通过前述查看制品仓库安全和制品安全的方式进行制品安全信息查看。

image-20220208112821063

设置制品安全通知方式

项目管理员在项目设置-消息-通知设置- 制品中心,选择制品安全相关通知是否采用邮件通知或钉钉机器人通知。如果不启动邮件或钉钉机器人通知,则系统只发送制品安全相关通知的站内消息,项目相关人员到研发云平台页面的消息中心查看相关制品安全通知消息。

image-20220208114420695

docker镜像创建标签

当项目开发人员需对制品库中已有的docker镜像重命名镜像标签,可使用docker镜像创建标签功能。

  1. 在制品仓库树状图中选择要创建标签的docker镜像,选中已有的标签,在页面右上方点击“创建标签”按钮

image-20220307101651529

  1. 在弹出的创建标签对话框,选择目标仓库,填写标签名称,点击“确定”按钮

image-20220307095919975

  1. 查看制品仓库树状图,在目标制品仓库存在上一步创建的docker镜像标签版本。

image-20220307101841836

制品晋级

当开发快照snapshot仓库里面的制品测试验证完成后,可通过制品晋级将制品复制或移动到release仓库,实现一次构建多个环境部署。

使用前提:复制晋级时操作人员至少具有源snapshot仓库的只读人员权限及目标release仓库的开发人员(读写)权限。移动晋级时操作人员至少具有源snapshot仓库和目标release仓库的开发人员(读写)权限。

docker镜像晋级

指定docker镜像晋级

开发人员登录研发云,进入项目视图——制品——项目制品库。右侧以树状结构展示该开发人员有权限读写的项目制品仓库。选择snapshot docker制品仓库下的指定docker镜像的tag版本目录,点击页面右上角的晋级,在弹出的对话框中,选择晋级制品库(目标release仓库),选择晋级方式,可选设置晋级的目标版本,点击确认。该docker镜像将按用户设置的晋级方式及版本移动或复制到目标release仓库。

image-20230202152152717

docker镜像批量晋级

开发人员登录研发云,进入项目视图——制品——项目制品库。右侧以树状结构展示该开发人员有权限读写的项目制品仓库。选择snapshot docker制品仓库,右侧页面选择制品晋级tab,展示该snapshot docker仓库下的镜像名称、镜像版本及晋级状态信息。勾选未晋级的制品(可多选),点击确认晋级。

image-20230202153549060

在弹出的对话框中,选择晋级制品库(目标release仓库),选择晋级方式,可选设置晋级的目标版本,点击确认。选择的docker镜像将按用户设置的晋级方式及版本批量移动或复制到目标release仓库。

image-20230202161656023

maven、generic制品晋级

maven和generic制品以一次流水线构建为单位进行该次构建上传制品的批量晋级。

开发人员登录研发云,进入项目视图——制品——项目制品库。右侧以树状结构展示该开发人员有权限读写的项目制品仓库。选择snapshot maven/generic制品仓库,右侧页面选择制品晋级tab,展示该snapshot仓库下流水线构建上传制品的流水线名称和构建任务ID及晋级状态。点击右侧制品晋级操作按钮。

image-20230202162724655

在弹出的对话框中,选择目标release仓库,选择移动或复制晋级,实现该次流水线构建所上传制品的批量晋级。

image-20230202163219820

晋级记录查看

开发人员登录研发云,进入项目视图——制品——项目制品库。右侧以树状结构展示该开发人员有权限读写的项目制品仓库。选择snapshot maven/generic/docker制品仓库,右侧页面选择制品晋级tab,点击晋级记录,可查看该snapshot仓库的所有晋级操作记录。可以根据晋级目标制品库、晋级时间、晋级方式等查询晋级记录。

image-20230202163515664

选择一条流水线名称,点击查看所含制品,可查看晋级的具体制品文件。

image-20230202163646672

制品全生命周期溯源

制品中心提供制品的整个生产过程的跟踪溯源能力,用户可查看与制品相关联的需求、代码、构建、质量、部署等全生命周期的关键数据。通过全生命周期数据的关联实现制品的质量控制与准确及时交付,满足项目组统一视图管理制品的开发、构建、质量及上线的需求。

使用前提:制品是通过研发云流水线构建上传,操作人员具有制品仓库的读取权限。

查看某个制品全生命周期数据

操作人员登录研发云,进入项目视图——制品——项目制品库。右侧以树状结构展示该开发人员有权限读取的项目制品仓库。选择某个制品(docker镜像选择到tag目录),点击制品全生命周期菜单。

点击拓扑图,可查看制品从需求到开发代码到代码安全扫描、流水线编译构建到部署的全生命过程,每个阶段展示该过程的结果信息。

image-20230202170902183

点击其中的某个阶段,则展示该阶段的详细信息。

点击需求阶段,展示制品的需求来源详情(包括工作项编号、工作项标题、类型、完成状态、被指派人、更新时间等)。点击工作项编号,可跳转到研发云工作项查看工作项详情。

image-20230202171552206

点击代码阶段,展示生成制品的源代码信息,包括仓库、分支、commit ID及commit标题、提交人和提交时间等。如果具有代码仓库的访问权限,点击commitID,跳转到代码仓库对应分支的对应提交的详情页面。

image-20230202210433192

点击安全阶段,展示代码安全扫描(包括fortify和sonar扫描)的结果信息,如果具有代码访问权限,可跳转查看扫描报告详情。

image-20230202211831161image-20230202212024816

点击流水线,展示构建制品的流水线信息,点击流水线名称,若具有流水线查看权限,则可跳转显示流水线构建记录详情。

image-20230202212903754

点击部署,可查看制品关联的部署任务详情及部署任务结果。

image-20230202213410644

通过制品仓库查询指定制品的全生命周期数据

操作人员登录研发云,进入项目视图——制品——项目制品库。右侧以树状结构展示该开发人员有权限读取的项目制品仓库。选择某个制品仓库,在右侧页面选择全生命周期tab。输入或选择制品名称及制品版本信息,查询该制品版本的全生命周期数据。

image-20230202215925332

制品同步设置与查看——docker镜像同步

制品中心docker镜像若需部署到IT上云环境(例如CCSE集群),需先设置制品中心docker制品仓库同步到云网集群镜像仓库(harbor仓库),再通过研发云部署中心进行CD部署。

制品中心docker镜像也可同步到公网harbor仓库,前提是公网harbor仓库服务器放通研发云访问。

研发云docker制品仓库管理员配置本仓库需同步的目标harbor仓库,新上传的docker镜像会自动同步到目标仓库。配置同步目标仓库前已有的docker镜像,开发人员可手工同步推送到远端目标仓库。

docker镜像远程同步仓库设置

项目本地制品仓库管理员登录研发云,进入“项目设置”——“制品”,在需要同步的docker镜像仓库列表中,点击设置同步仓库的操作按钮。

image-20220803155702414

在弹出的页面中,勾选需要同步的目标harbor仓库,点击确定,完成同步远程目标仓库设置。

用户勾选同步的目标harbor仓库时,还可设置制品元数据,实现筛选指定元数据的docker镜像同步到远程目标仓库。满足用户按需推送指定元数据的制品到不同的远程目标仓库,从而实现不同环境部署的需求。例如将dev分支构建的docker镜像同步到测试harbor仓库,部署到测试环境;将master分支构建的docker镜像同步到生产harbor仓库,部署到生产环境。

如果在弹出的页面中,无可选的目标harbor仓库,则需要联系企业资源管理员配置并授权项目使用对应的集群及集群的镜像仓库(harbor仓库)。详细操作指引参考”研发云帮助文档- 资源中心-集群管理“配置CCSE harbor镜像仓库信息,以及参考”研发云帮助文档-资源中心-制品库集群管理“配置独立的harbor仓库信息。

image-20230202221152821

docker镜像制品仓库同步设置完成后,只要上传docker镜像,研发云平台自动推送满足条件的docker镜像到所设置的远程目标harbor仓库。

docker镜像手工同步

开发人员手工同步docker镜像制品的前提是仓库管理员已设置该镜像仓库的远程同步目标harbor仓库。

项目开发人员登录研发云,进入项目视图,进入“制品”-“项目制品库”,选择要同步的docker镜像仓库,点击页面的“制品同步”菜单。

image-20220908142824598

页面展示该docker镜像仓库中已有的镜像及版本列表,勾选需要同步的镜像版本,点击“操作”列的同步操作,将所选的docker镜像同步到远程目标harbor仓库。开发人员可以勾选多个镜像及版本,点击“一键同步”,实现docker镜像批量同步到远程目标仓库。

开发人员可以输入制品名称关键字、制品版本及制品创建时间范围,筛选指定条件的制品进行同步。

image-20220908142939769

开发人员可以点击"查看远程目标",如果没有远程仓库列表,需仓库管理员先设置要同步的目标云网集群镜像仓库。

image-20220908144426210

制品同步完成后,可点击“查看同步记录”,查看docker镜像的同步记录。

docker镜像同步结果查看及重新同步

项目开发人员有2种方式查看docker镜像仓库的制品同步结果。

项目开发人员登录研发云,进入项目视图,进入“制品”——“制品同步记录”菜单,可查看docker镜像的同步结果。结果以列表形式展示,包括镜像所在仓库、镜像名称、版本、目标仓库、同步状态、同步时间及任务创建时间等信息。

对于同步失败的镜像,可点击“重新同步”按钮进行再次同步。对于正在同步的镜像,可点击”停止同步“按钮,中止正在同步的任务。

项目开发人员可输入项目制品库、制品名称、制品版本、同步状态、同步时间进行查询,点击重置按钮可以清空查询条件。

image-20220803220339869

点击查看日志,可查看同步过程的日志信息。

image-20220810163244864

项目开发人员登录研发云,进入项目视图,进入“制品”——“项目制品库”菜单,选择docker镜像仓库,点击某个docker镜像版本目录。在右侧基本信息页面的下方,制品同步的区域展示该镜像的同步状态。包括远程目标镜像仓库名称、地址、同步时间、同步状态、同步日志。

对于失败状态,点击操作重新同步按钮可再次触发同步。对于正在同步的镜像,可点击”停止同步“按钮,中止正在同步的任务。

image-20220803223605965

点击查看日志,可查看同步过程的日志信息。

image-20220810163029796

制品同步设置与查看——文件同步

制品中心Generic仓库可同步到远端文件服务器,只要远端文件服务器开放研发云平台ssh或rsync方式访问。远端文件服务器需要企业资源管理员在企业资源管理后台设置为文件仓库。

研发云Generic制品仓库管理员配仓库需同步的目标文件仓库,新上传的文件将自动同步到目标文件仓库。配置同步仓库前已有的文件,需要开发人员手工操作进行同步。

Generic仓库远程同步仓库设置

项目本地制品仓库管理员登录研发云,进入“项目设置”——“制品”,在需要同步的Generic仓库列表中,点击”制品库同步设置“操作按钮。

image-20230509170726939

在弹出的页面中,勾选需要同步的目标文件仓库,点击确定,完成同步远程目标仓库设置。

如果在弹出的页面中,无可选的目标文件仓库,需要联系企业资源管理员配置并授权项目使用对应的目标文件仓库。详细操作指引参考”研发云帮助文档-资源中心- 制品库集群管理“。

image-20230509171035034

Generic制品仓库同步设置完成后,只要上传制品,研发云平台自动推送到所设置的远程目标仓库。

Generic仓库制品手工同步

开发人员手工同步Generic制品的前提是仓库管理员已设置该Generic仓库的远程目标文件仓库。

项目开发人员登录研发云,进入项目视图,进入“制品”-“项目制品库”,选择要同步的Generic仓库,点击页面的“制品同步”菜单。

image-20230510084413989

页面展示该Generic仓库中已有的文件列表,勾选需要同步的文件,点击“操作”列的同步操作,将所选的文件同步到远程文件仓库。开发人员可以勾选多个文件,点击“一键同步”,实现文件批量同步到远程目标仓库。

开发人员可以输入制品名称关键字、创建时间,筛选指定条件的制品进行同步。

image-20230510084809942

开发人员可以点击"查看远程目标仓库",如果没有远程仓库列表,需仓库管理员先配置同步的远程目标仓库。

image-20230510091738494

制品同步完成后,可点击“查看同步记录”,选择Generic类型查看同步记录。

文件同步结果查看及重新同步

项目开发人员有2种方式查看文件制品同步结果。

项目开发人员登录研发云,进入项目视图,进入“制品”——“制品同步记录”菜单,选择Generic,可查看文件制品的同步结果。结果以列表形式展示,包括制品所在仓库、制品名称、路径、远程仓库地址、同步状态、同步时间及任务创建时间等信息。

对于同步失败的制品,可点击“重新同步”按钮进行再次同步。对于正在同步的制品,可点击”停止同步“按钮,中止正在同步的任务。

项目开发人员可输入项目制品库、制品名称、制品路径、同步状态、同步时间进行查询,点击重置按钮可以清空查询条件。

image-20230510094951501

点击查看日志,可查看同步过程的日志信息。

image-20230510093000432

项目开发人员登录研发云,进入项目视图,进入“制品”——“项目制品库”菜单,选择Generic仓库,选择文件。在右侧基本信息页面的下方,制品同步的区域展示该文件的同步状态。包括远程仓库地址、同步时间、同步状态、同步日志。

对于失败状态,点击”重新同步“按钮可再次触发同步。对于正在同步的文件,可点击”停止同步“按钮,中止正在同步的任务。

image-20230510092806950

点击查看日志,可查看同步过程的日志信息。

image-20230510093000432

制品手动清理与自动清理

制品手动清理

项目开发人员如需对项目本地制品库中的制品进行批量清理,可以使用制品手动清理功能。

开发人员登录研发云,进入项目视图,从左侧菜单栏选择“制品”,选择“项目制品库”。右侧以树状结构展示该开发人员有权限查看的项目制品仓库。选择某个可以读写操作的制品仓库,在右侧点击制品清理菜单。下方展示该仓库制品的目录树视图,可在树状目录中批量选择目录或文件,点击确认清理。

image-20220628135819857

在弹出的“执行手动清理”对话框中,检查确认要清理的制品文件名称及所在路径,点击确认清理,系统删除所确认清理的制品目录或文件。

image-20220628135921125

制品自动清理

项目本地制品仓库管理员如需定期清理制品仓库中的备份文件,可使用制品自动清理功能。

项目本地制品仓库管理员登录研发云,进入“项目设置”——“制品”,在本地制品仓库列表中选择要进行自动清理设置的仓库,点击右侧的批量清理按钮。

image-20220628141318180

在弹出的页面点击“新增自动清理策略”。

image-20220628142557510

在弹出的页面中选择清理的路径,选择清理的制品创建时间范围或要保留的制品版本个数,可选输入要清理的制品名称关键字或不包含的关键字,选择自动清理的执行时间。点击预览制品。

image-20230202222627088

在弹出的对话框中检查确认当前要清理的制品是否符合设置的自动清理策略。如果不符合,可以关闭预览制品对话框修改自动清理的条件设置。

image-20220628142356859

关闭预览制品对话框后,选择确认,完成自动清理策略设置。

如果项目本地制品仓库管理员需取消自动清理策略设置,可在自动清理策略列表中选择对应策略,点击删除按钮,在弹出的对话框中确定删除此自动清理策略。

image-20220628144119484

image-20220628144142119

概述

流水线的定义

在研发云开发体系中,持续集成和持续交付是非常重要的一环,研发云流水线如同工业流水线中的传送带,它为持续集成和持续交付任务提供流程控制脚本。

流水线功能模块提供了流水线的创建、运行及管理功能,通过流水线为项目提供持续构建,以及相应的自动化测试、部署服务,即提供持续集成(CI)、持续交付(CD)服务。

流水线与其上下游,也就是代码中心和制品中心的结合是十分紧密的。流水线从代码中心获取项目源码并反过来为代码中心提供评审验证打分等功能;同时,流水线从制品中心下载项目所需的依赖包,并将编译打包后生成的制品推送到制品中心。

image-20211013140203739

流水线的权限管理

流水线的使用者是负责持续集成工作的开发人员、运维人员等。

在使用流水线前,项目团队需在研发云平台上创建流水线,仅项目负责人或项目管理员拥有创建流水线的权限。

流水线的使用者可分为流水线管理员和流水线普通成员两种角色,其中项目负责人或项目管理员创建流水线完成后自动成为该流水线的管理员。两种角色的权限如下:

流水线管理员

流水线普通成员

使用流水线前的准备

确认项目代码仓库已设置

流水线需要从代码中心获取项目源码进行处理,因此需要先确定项目代码仓库及分支是否已配置好。项目代码仓库的配置,请参考代码中心相关文档。

从项目工作区进入项目视图,从左侧菜单栏选择代码菜单,再选择代码仓库。右侧显示系统已经创建的代码仓库及仓库分支。

image-20220228223902897

确认项目制品仓库已设置

流水线需要从制品中心制品仓库中下载项目所需的依赖包,并将编译打包后生成的制品推送到制品中心,因此需要先确定项目制品仓库是否已配置好。项目制品仓库的配置,请参考制品中心相关文档。

从项目工作区进入项目视图,从左侧菜单栏选择制品菜单,再选择项目制品库。右侧显示系统已经创建的项目制品库。

image-20220228223923449

流水线的创建和配置

创建流水线

仅项目负责人/项目管理员有权创建流水线。

项目负责人/项目管理员登录研发云,点击“项目设置”——“流水线”——“流水线”,点击“新建流水线”。

image-20230331155408122

模板选择

新建一条流水线,可以通过使用模板来快速建好;若没有合适的模板,可选择“自定义流水线”。

image-20230331155950885

​ 用户自行配置流水线的流程步骤、触发规则等。

​ (1)可以使用项目/父项目下创建的已发布的流水线模板。

​ (2)点击【新建模板】,可即刻创建当前项目下的流水线模板。可参照 创建流水线模板的指引

image-20230331160453509

​ (1)启用单分支评审流程的流水线模板

​ ① 代码提交事件将触发流水线的执行,为代码评审验证打分提供判断依据。

​ ② 用户不可增删流程步骤。

​ (2)启用多分支评审流程的流水线模板

​ ① 合并请求将触发流水线的执行,为合并请求的评审人员提供判断依据。

​ ② 用户不可增删流程步骤。

​ (3)不启用代码评审流程的流水线模板

​ 提供推荐流程步骤的配置,用户可自行增删流程的步骤。

流水线基础信息配置

在新建流水线页面进行配置,选择流水线需要处理的代码仓库、需要处理的分支、项目使用的开发语言等。

image-20230331161319311

其中:

--流水线名称(必填) :即将创建的本条流水线的名称,注意流水线的命名规范。流水线名仅允许英文小写字母(a-z)、数字(0-9)、中划线(-),且第一个字符仅允许使用字母。

-- 分支(必填) :本条流水线的持续集成步骤将要处理的代码仓库的具体分支。该参数为下拉选择,如下拉菜单中为空,则需要确认项目代码仓库的分支是否已创建,具体参见 “流水线——概述 ” 相关描述。

--流水线执行通知(必填) :将本条流水线的执行结果通知给特定人群(默认通知对象为流水线管理员),通知方式在”项目设置“—”消息“中配置,可支持邮件、钉钉机器人两种通知方式。

-- 技术框架(必填) :本条流水线处理的项目使用的开发语言,根据选择的语言不同,后续需要配置的流水线模板也不同。该参数为下拉选择。流水线支持的开发语言(技术栈)包括:

点击下一步,进行流水线持续集成步骤配置。

流水线任务步骤配置

image-20230331171502053

点击请选择步骤后,可添加需要的步骤,并进行步骤详细信息的填写。

image-20230331171737695

Java(Maven或Gradle)流水线配置

1)Maven构建参数配置

点击页面左侧Maven构建步骤,右侧会显示该步骤的参数配置页面。

image-20230331171737695

主要配置用于执行Maven构建指令(如mvn compile、mvn package和mvn deploy等)的步骤。

其中:

点击“新增构建模块”将弹出新增构建模块界面。构建模块的核心参数是“ 构建路径 ”和“ 编译指令 ”,“编译指令”在“构建路径”下执行,根目录指的是.git文件夹所在的目录

​ 其中:

点击“确定”保存新建构建模块信息,如需配置多个构建模块,则重复上面的“新增构建模块”步骤。

依赖库配置

如果Maven项目中有依赖需要从私库下载,则需要在此选择对应的依赖库。

依赖包配置

选择"使用缓存"后,每次构建时,会把下载依赖包缓存起来,以后构建无需重复拉取,可有效提高构建速度。

2)Maven的SonarQube扫描参数配置

SonarQube扫描步骤的目的在于使用扫描工具对代码进行质量扫描,并在安全中心生成质量报告。

点击页面左侧SonarQube扫描步骤中的编辑图标,右侧会显示该步骤的参数配置页面。

扫描区分构建工具,如果需要对Maven项目进行扫描,则需要在“构建工具”中选择“Maven”项。

image-20230331173158396

Maven的扫描依赖maven的构建,所以扫描任务结构和maven构建几乎一致。

3)Maven的Fortify扫描参数配置

Foritfy扫描步骤的目的在于使用扫描工具对代码进行质量扫描,并在安全中心生成安全报告。相比于SonarQube扫描来说,Fortify扫描更加深入,而SonarQube扫描更加轻量,两者采用的扫描规则是不同的。

点击页面左侧Foritfy扫描步骤中的编辑图标,右侧会显示该步骤的参数配置页面。

image-20230331173411359

SonarQube扫描类似,Maven的Fortify扫描依赖maven的构建,所以扫描任务结构和maven构建几乎一致。

4)Gradle构建参数配置

点击页面左侧Gradle构建步骤图标,右侧会显示该步骤的参数配置页面。

主要配置用于执行Gradle构建指令(如gradlew build等)的步骤。

image-20230331173546230

其中:

点击“新增构建模块”将弹出新增构建模块界面。构建模块的核心参数是“ 构建路径 ”和“ 编译指令 ”,“编译指令”在“构建路径”下执行,根目录指的是.git文件夹所在的目录

其中:

点击“确定”保存新建构建模块信息,如需配置多个构建模块,则重复上面的“新增构建模块”步骤。

依赖库配置

如果Gradle项目中有依赖需要从私库下载,则需要在此选择对应的依赖库。

依赖包配置

选择"使用缓存"后,每次构建时,会把下载依赖包缓存起来,以后构建无需重复拉取,可有效提高构建速度。

5)Gradle的SonarQube扫描参数配置

点击页面左侧SonarQube扫描步骤图标,右侧会显示该步骤的参数配置页面。

SonarQube扫描步骤的目的在于使用扫描工具对代码进行质量扫描,并在安全中心生成质量报告。扫描区分构建工具,如果需要对Maven项目进行扫描,则需要在“构建工具”中选择“Gradle”项。

image-20230331174020603

Gradle的扫描配置与Gradle构建类似,参照Gradle构建模块填写。

image-20230331174111857

6)制品上传参数配置

点击页面左侧制品上传的步骤图标,右侧会显示制品上传步骤的参数配置页面。

image-20230331174223412

其中:

新增制品:

点击“新增制品”将弹出制品配置界面,制品类型支持Docker制品、Generic制品(普通文件):

Docker制品配置说明如下:

image-20211012112128440

Generic制品配置说明如下:

image-20211012112216828

NodeJS流水线配置

1)Nodejs构建参数配置

点击页面左侧Nodejs构建的步骤图标,右侧会显示Nodejs构建步骤的参数配置页面。

image-20230331174424634

其中:

点击“新增构建模块”将弹出新增构建模块界面:

image-20211012112317083

​ 其中:

​ 点击?图标,可查看编译指令参数说明。如还需指定其他参数,可在此处填入。

​ 点击“确定”保存此构建模块信息,如需配置多个构建模块,则重复上面的“新增构建模块”步骤。

2)SonarQube扫描参数配置

点击页面左侧SonarQube扫描的步骤图标,右侧会显示SonarQube扫描步骤的参数配置页面。

image-20230331174636255

其中:

3)Fortify扫描参数配置

Foritfy扫描步骤的目的在于使用扫描工具对代码进行质量扫描,并在安全中心生成安全报告。相比于SonarQube扫描来说,Fortify扫描更加深入,而SonarQube扫描更加轻量,两者采用的扫描规则是不同的。

点击页面左侧Foritfy扫描的步骤图标,右侧会显示该步骤的参数配置页面。

image-20230331174754347

NodeJs的Fortify扫描任务的参数配置与Nodejs构建较为类似。

点击新建扫描模块将弹出扫描模块配置界面:

image-20230331174837083

其中:

4)制品上传参数配置:

同Java(Maven或Gradle)流水线配置 的“制品上传参数配置 ”。

Go流水线配置

1)Go构建参数配置

点击页面左侧Go构建的步骤图标,右侧会显示Go构建步骤的参数配置页面,

image-20230331175211714

其中:

新增构建模块:

点击“新增构建模块”将弹出模块配置界面:

image-20230331175309601

​ 其中:

2)SonarQube扫描参数配置

点击页面左侧SonarQube扫描的步骤图标,右侧会显示SonarQube扫描步骤的参数配置页面。

image-20230331175405387

其中:

3)Fortify扫描参数配置

Foritfy扫描步骤的目的在于使用扫描工具对代码进行质量扫描,并在安全中心生成安全报告。相比于SonarQube扫描来说,Fortify扫描更加深入,而SonarQube扫描更加轻量,两者采用的扫描规则是不同的。

点击页面左侧Foritfy扫描的步骤图标,右侧会显示该步骤的参数配置页面。

image-20230331175641214

Go语言的Fortify扫描任务的参数配置与Go构建较为类似。

点击新建扫描模块将弹出扫描模块配置界面:

image-20230331175720642

其中:

4) 制品上传参数配置

同Java(Maven或Gradle)流水线配置 的“制品上传参数配置 ”。

Python流水线配置

1) SonarQube扫描参数配置

点击页面左侧SonarQube扫描的步骤图标,右侧会显示SonarQube扫描步骤的参数配置页面,

image-20230331180155771

其中:

2) Python执行

Python执行步骤仅在自定义Python流水线中存在,用于对在提供的Python镜像内执行对应的指令。

image-20230331180248301

新增模块:

点击“新增模块”将弹出模块配置界面

模块配置说明如下:

image-20211012112733403

3) Python的Fortify扫描参数配置

Foritfy扫描步骤的目的在于使用扫描工具对代码进行质量扫描,并在安全中心生成安全报告。相比于SonarQube扫描来说,Fortify扫描更加深入,而SonarQube扫描更加轻量,两者采用的扫描规则是不同的。

点击页面左侧Foritfy扫描的步骤图标,右侧会显示该步骤的参数配置页面。

image-20230331180421434

PythonFortify扫描任务的参数配置与Python执行较为类似。

点击新建扫描模块将弹出扫描模块配置界面:

image-20230331180504777

其中:

4) 制品上传参数配置

同Java(Maven或Gradle)流水线配置 的“制品上传参数配置 ”。

C流水线配置

C流水线 包括C语言构建和制品上传,fortify扫描三个步骤

1) C语言构建

2) 制品上传

3) fortify扫描

详细参考[C-fortify](详细参考C-fortify

Ruby流水线配置

流水线主要包括代码质量扫描和制品上传两个步骤,操作方式与上述流水线类似。

Android流水线配置

1)Android构建参数配置

点击页面左侧Android构建的步骤图标,右侧会显示Android构建步骤的参数配置页面。

image-20230331180825803

其中:

2)Android的Fortify扫描参数配置

点击页面左侧Fortify扫描的步骤图标,右侧会显示Fortify扫描步骤的参数配置页面。

image-20230331180930074

Android的Fortify扫描参数的配置较为简单,填写源码路径项即可。

3) 制品上传参数配置

同Java(Maven或Gradle)流水线配置 的“制品上传参数配置 ”。

注:流水线支持的技术栈将持续更新

.NET流水线配置

1).NET构建参数配置

点击页面左侧.NET构建的步骤图标,右侧会显示该步骤的参数配置页面。

image-20230331181136458

主要配置用于执行dotnet构建指令(如dotnet build)的步骤。

其中:

点击“新增构建模块”将弹出新增构建模块界面。构建模块的核心参数是“ 构建路径 ”和“ 编译指令 ”,“编译指令”在“构建路径”下执行,根目录指的是.git文件夹所在的目录

其中:

点击“确定”保存新建构建模块信息,如需配置多个构建模块,则重复上面的“新增构建模块”步骤。

依赖库配置

流水线会自动注入NuGet.Config配置文件,配置文件已经设置了使用研发云nuget公共制品库。因此用户如果在项目源码根路径下自定义了NuGet.Config,可能会覆盖掉流水线注入的研发云nuget公共制品库。而流水线无法访问公网,无法通过项目自定义的NuGet.Config中定义的源下载依赖,导致流水线失败。

流水线自动注入的NuGet.Config配置文件内容如下:

如果已经把nuget私有包上传到研发云nuget私有制品库,而当前.NET项目需要使用这个nuget私有包,则需要在此选择对应的私有依赖库。

依赖包配置

选择"使用缓存"后,每次构建时,会把下载依赖包缓存起来,以后构建无需重复拉取,可有效提高构建速度。

2).NET的SonarQube扫描参数配置

SonarQube扫描步骤的目的在于使用扫描工具对代码进行质量扫描,并在安全中心生成质量报告。

点击页面左侧SonarQube扫描的步骤图标,右侧会显示该步骤的参数配置页面。

image-20230331181236179

.NET的扫描依赖.NET的构建,所以扫描任务结构和.NET构建类似。最大的区别是构建命令那里会有很多跟sonar扫描相关的参数,如下图所示。

3)制品上传参数配置

同Java(Maven或Gradle)流水线配置 的“制品上传参数配置 ”。

流水线触发规则配置

任务步骤配置好后,可以设置流水线的触发规则。

流水线支持五种触发(执行)规则:

image-20230331181350617

流水线触发规则配置完成后,即可点击“保存”,完成流水线的创建。

流水线权限管理

流水线权限角色可分为流水线管理员和流水线普通成员两类。项目负责人/项目管理员在创建流水线后,自动成为该流水线的管理员。

流水线管理员拥有对流水线的所有权限,包括:

流水线普通成员拥有的权限包括:

项目负责人/项目管理员在新建流水线时,根据提示进入流水线权限管理页面。或进“项目设置”——“流水线”,点击流水线列表右侧的“权限管理”操作钮进入流水线的权限管理页面。

image-20211013144129821

image-20220228224243800

进入权限管理界面后,可查看流水线当前配置的管理员和普通成员。如需更改权限,点击“修改”

image-20220228224305800

分别勾选1~n个用户,设置为管理员、普通成员,保存更改。

image-20220228224326516

流水线发布

流水线被创建后,需要经过发布才能被看到和被执行。

项目负责人/项目管理员进“项目设置”——“流水线”,点击流水线列表右侧的“发布”操作键完成发布。

image-20220228224347630

查看/修改流水线配置

流水线管理员可修改和查看流水线配置。

登录研发云,进入“流水线”,点击流水线列表右侧的“配置”操作键。

image-20220224163933435

在流水线配置界面可查看/修改流水线的基本信息、流程、触发规则和权限配置。

image-20220224164131610

流水线的配置详细说明,请参阅 “流水线配置 ”相关描述。

对流水线配置完成修改后,点击“保存”保存修改;或点击“保存并执行”在保存修改后立即开始执行该流水线。

删除流水线

拥有流水线管理员权限的项目/子项目负责人或项目/子项目管理员拥有流水线删除权限,项目组其他成员无权删除流水线。

进入“项目设置”——“流水线”,在流水线列表中选择需要删除的流水线,点击右侧”删除“按钮,可删除指定流水线。

image-20220228224425801