流水线 Flow 支持将构建物上传至通用制品仓库、公共存储空间或对象存储 OSS 中。本文为您介绍如何在流水线中配置构建物上传。
上传到组织私有通用制品仓库(使用 Packages 统一管理)
云效 Packages 制品仓库支持通用制品、Maven、Npm、PyPI、NuGet、Conan等多种类型制品管理。使用 Packages 统一管理构建产物,方便版本管理和回滚,方便制品元数据管理。
以Java · 测试、构建流水线模板为例,在流程配置页面,单击Java 构建上传。然后在任务编辑面板中单击构建物上传。
在构建物上传步骤中,上传方式选择组织私有通用制品仓库(制品将上传Packages统一管理),并配置以下项目:
配置项
说明
步骤名称
默认为构建物上传,支持自定义步骤名称。
添加服务连接
单击添加服务连接,根据界面提示完成创建云效 Packages的服务连接。
仓库
添加服务连接后,可选择制品仓库 Packages 中通用制品类型的仓库作为目标仓库。
重要您已在制品仓库 Packages中创建通用制品类型的仓库。
制品名称
制品名称用于区分多次构建产生的不同产出物,定义后在部署组件使用。默认为
Artifacts_${PIPELINE_ID}
,支持自定义制品名称。制品版本
制品版本用于唯一标识您的制品文件,因此同一制品不允许推送重复版本。默认为
${BUILD_NUMBER}
,支持自定义制品名称。打包路径
您需根据实际情况配置打包路径为项目文件夹的相对路径,支持设置多个文件路径。默认为
target/
。制品中包含打包路径的目录
若勾选,则生成的压缩包中包含完整的打包路径,否则仅包含文件。当选择了多个打包路径时,该值自动设置为
true
。
上传到云效公共存储空间
制品文件只有归档至云效公共存储空间后,才能与流水线运行记录绑定并展示在流水线产物中。
以Java · 测试、构建流水线模板为例,在流程配置页面,单击Java 构建上传。然后在任务编辑面板中单击构建物上传。
在构建物上传步骤中,上传方式选择归档至云效公共存储空间(供后续任务拉取并部署),并配置以下项目:
配置项
说明
步骤名称
默认为构建物上传,支持自定义步骤名称。
制品名称
制品名称用于区分多次构建产生的不同产出物,定义后在部署组件使用。默认为
Artifacts_${PIPELINE_ID}
,支持自定义制品名称。打包路径
您需根据实际情况配置打包路径为项目文件夹的相对路径,支持设置多个文件路径。默认为
target/
。制品中包含打包路径的目录
若勾选,则生成的压缩包中包含完整的打包路径,否则仅包含文件。当选择了多个打包路径时,该值自动设置为
true
。
上传到对象存储 OSS
以Node.js · React 构建上传到 OSS 流水线模板为例,在流程配置页面,单击Node.js 构建上传 oss,然后在任务编辑面板中单击OSS上传。
如何在流水线中添加流水线源,配置测试构建任务,具体操作请参见Node.js测试构建。
在OSS上传步骤中,配置以下项目:
配置项
说明
步骤名称
默认为 OSS上传,支持自定义步骤名称。
添加服务连接
单击添加服务连接,根据界面提示完成创建对象存储(OSS)的服务连接。
Bucket地域
选择目标 Bucket 所在地域。
Bucket名称
选择目标 Bucket 名称。
重要确保已创建存储空间。
Bucket目录
设置制品上传到目标 Bucket 目录。若填写的目录不存在,则会自动创建目录。如果置空,将上传到 Bucket 根目录;如果填写
dist
,将上传到 Bucket 中dist
目录。源文件目录
源文件目录为上传文件/文件夹路径,起始位置为项目文件夹的相对路径。如果填写点
.
,将上传整个代码库;如果填写package.json
,将上传单个文件。Meta设置
可为指定后缀的文件设置
meta
。例如为html
后缀的文件设置Cache-Control:no-cache
的meta
。如果同一个后缀的文件有多个meta
,用#
分隔,例如Cache-Control:no-cache#Content-Encoding:gzip
。
后续操作
您可以在流水线中编排任务步骤并部署制品,具体操作请参见: