配置流水线源
本文介绍流水线源,包括代码源、Jenkins源、流水线源三种类型。
流水线源是 Flow 流水线的输入源头,可以从文件托管服务或者其他第三方服务中获取原料,并将这些原料放入到工作区。流水线可以对工作区的原料进行处理,通常处理的目的可以是编译打包、执行任务、版本制作等,流水线处理输出的结果可以是软件的测试报告、压缩文件、目录、文档等。
代码源
Flow支持将业界通用的代码仓库作为流水线的触发源,在流水线的编辑页面,点击 添加流水线源,为流水线添加代码源,支持:

代码源可以使用 服务连接 添加用户名和密码进行授权。
此外,自建 Gitlab、Bitbucket、Gitlab、通用Git还可以使用 企业公钥 授权。
拷贝企业 SSH 公钥,并添加到 Git 仓库的中。以自建 Gitlab 为例,为了能够使用企业 SSH 公钥同步代码,需要将企业 SSH 公钥绑定到 Git 仓库个人账号上。由于每个公钥在同一个代码平台上仅可配置一次,因此最佳实践是将企业管理员将 SSH 公钥配置到企业公共账号,Flow 通过公共账号同步代码。

Jenkins源

在流水线编辑页,点击 添加流水线源,在 添加流水线源 弹框中选择 Jenkins,添加Jenkins服务连接,输入您的 Jenkins 公网地址、用户、密码,完成账号绑定。

选择 Jenkins 任务 Job名称 和 默认版本,即可完成配置。

请确保您的 Jenkins 服务配置了公网出口。

Flow流水线源
在实际应用过程中,存在构建环节和部署环节分离的场景。比如,需要对开发环境、测试环境、生产环境分别进行部署,但是每个环境的部署频率是不同的。如果将多个环境的部署环境配置在同一条流水线,则会存在多次重复、取消的情况。如果将多个环境配置成多条流水线,则每个环境在部署过程中会出现重复构建的现象。
因此,Flow 提供了流水线之间触发的能力,您可以将流水线 A 设置为流水线 B 的触发源,当流水线 B 被触发运行时,Flow 会根据您的配置下载源流水线 A 中的构建产物并执行后续任务。
流水线 A 若想下载流水线 B 的构建产物,B 需要将构建产物进行归档,归档完成后流水线 B 的构建产物会和流水线运行记录绑定。可查看归档至云效公共存储空间。
如果使用 Packages 通用制品仓库管理制品文件,上传至 Packages 通用制品仓库并不会将制品归档,因此如果想实现多流水线之间的制品传递,需要在上传完 Packages 后对制品文件进行归档操作。
在流水线编辑页,点击 添加流水线源,在 添加流水线源 抽屉中选择 Flow流水线,选择 源流水线 和 默认版本,当流水线被执行时就会下载源流水线默认版本的构建产物。同时,流水线之间也支持自动触发,打开 触发事件 开关,可选择自动触发的事件。

配置完成后,点击保存运行,会下载源流水线的构建产物至工作区;若要将构建产物进行部署,需要将工作区的构建产物上传之后,才可选择部署。
场景示例
场景说明:流水线 A 生成产物,流水线 B 获取构建产物后,发布至 ECS。
操作步骤:
流水线 A 中进行 Java 构建,并对构建产物进行归档操作。
流水线 B 将流水线 A 配置为流水线源,将下载到的构建产物重新归档,并部署至 ECS。



