本文介绍流水线源,包括代码源、制品源、Jenkins源、流水线源三种类型。
流水线源是 Flow 流水线的输入源头,可以从文件托管服务或者其他第三方服务中获取原料,并将这些原料放入到工作区。流水线可以对工作区的原料进行处理,通常处理的目的可以是编译打包、执行任务、版本制作等,流水线处理输出的结果可以是软件的测试报告、压缩文件、目录、文档等。
代码源
Flow支持将业界通用的代码仓库作为流水线的触发源,在流水线编辑页面,点击 添加流水线源->代码源,为流水线添加代码源,支持:
自建 Gitlab
码云
通用Git
Github
Gitlab
Bitbucket
SVN
代码源可以使用 服务连接 添加用户名和密码进行授权。此外,自建 Gitlab、Bitbucket、Gitlab、通用Git还可以使用 企业公钥 授权。拷贝企业 SSH 公钥,并添加到 Git 仓库的中。以 自建 Gitlab 为例,为了能够使用企业 SSH 公钥同步代码,需要将企业 SSH 公钥绑定到 Git 仓库个人账号上。由于每个公钥在同一个代码平台上仅可配置一次,因此最佳实践是将企业管理员将 SSH 公钥配置到企业公共账号,Flow 通过公共账号同步代码。
制品源
Flow支持将业界通用的制品仓库作为流水线的触发源,在流水线编辑页面,点击 添加流水线源->制品源,为流水线添加制品源,支持:
云效 Packages 通用制品
添加Packages服务连接,仓库类型选择通用制品(目前仅支持Packages通用制品),选择仓库、制品和默认版本。
阿里云 ACR 镜像仓库
添加容器镜像服务连接,选择ACR(仅支持企业版ACR镜像仓库),选择region、实例、命名空间、镜像仓库、镜像版本
Jenkins源
在流水线编辑页,点击 添加流水线源,在 添加流水线源 弹框中选择 Jenkins,添加Jenkins服务连接,输入您的 Jenkins 公网地址、用户、密码,完成账号绑定。
选择 Jenkins 任务 Job名称 和 默认版本,即可完成配置。
请确保您的 Jenkins 服务配置了公网出口。
Flow流水线源
在实际应用过程中,存在构建环节和部署环节分离的场景。比如,需要对开发环境、测试环境、生产环境分别进行部署,但是每个环境的部署频率是不同的。如果将多个环境的部署配置在同一条流水线,则会存在多次重复、取消的情况。如果将多个环境配置成多条流水线,则每个环境在部署过程中会出现重复构建的现象。
因此,Flow 支持跨流水线制品传递(通用制品或镜像),典型使用场景如下:预发阶段从源代码构建镜像,预发环境部署验证通过后,生产阶段直接使用预发镜像发布上线。本场景您可以将预发流水线设置为生产流水线的源,生产流水线可以直接引用预发流水线中的构建产物并执行后续任务。
在流水线(如:生产流水线)编辑页,点击 添加流水线源,在 添加流水线源 抽屉中选择 Flow流水线,选择 源流水线(如:预发流水线) 和 默认版本。
在流水线(如:生产流水线)环境部署任务,选择使用源流水线的构建产物(如:预发流水线镜像产物)直接发起部署。
此外,流水线之间也支持自动触发,打开 触发事件 开关,可选择自动触发的事件。如源流水线运行成功自动触发目标流水线运行。