本文介绍流水线源,包括代码源、制品源、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流水线,选择 源流水线(如:预发流水线) 和 默认版本。
在流水线(如:生产流水线)环境部署任务,选择使用源流水线的构建产物(如:预发流水线镜像产物)直接发起部署。
此外,流水线之间也支持自动触发,打开 触发事件 开关,可选择自动触发的事件。如源流水线运行成功自动触发目标流水线运行。