配置流水线源

本文介绍流水线源,包括代码源、制品源、Jenkins源、流水线源三种类型。

流水线源

流水线源是Flow流水线的输入源头,可以从文件托管服务或者其他第三方服务中获取原料,并将这些原料放入到工作区。流水线可以对工作区的原料进行处理,通常处理的目的可以是编译打包、执行任务、版本制作等,流水线处理输出的结果可以是软件的测试报告、压缩文件、目录、文档等。

代码源

Flow支持将业界通用的代码仓库作为流水线的触发源,在流水线编辑页面,选择添加流水线源 > 代码源 ,为流水线添加代码源,支持:

  • Codeup

  • 自建 Gitlab

  • 码云

  • 通用Git

  • Github

  • Gitlab

  • Bitbucket

  • SVN

高的 (15)

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

image

制品源

Flow支持将业界通用的制品仓库作为流水线的触发源,在流水线编辑页面,选择添加流水线源 > 制品源,为流水线添加制品源,支持:

  • 云效Packages通用制品:添加Packages服务连接,仓库类型选择通用制品(目前仅支持Packages通用制品),选择仓库、制品和默认版本。

  • 阿里云ACR镜像仓库:添加容器镜像服务连接,选择ACR(仅支持组织版ACR镜像仓库),选择region、实例、命名空间、镜像仓库、镜像版本。

高的 (16)

高的 (17)

Jenkins源

  1. Flow 支持将您的Jenkins服务配置为流水线源,当流水线触发运行时,Flow会根据您的配置下载 Jenkins 任务的构建产物并执行后续任务。您的构建产物需要在 Jenkins 的任务中先进行归档操作。

    高的 (18)

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

    image

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

    image

    重要

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

    高的 (20)

Flow流水线源

在实际应用过程中,存在构建环节和部署环节分离的场景。比如,需要对开发环境、测试环境、生产环境分别进行部署,但是每个环境的部署频率是不同的。如果将多个环境的部署配置在同一条流水线,则会存在多次重复、取消的情况。如果将多个环境配置成多条流水线,则每个环境在部署过程中会出现重复构建的现象。因此,Flow 支持跨流水线制品传递(通用制品或镜像),典型使用场景如下:预发阶段从源代码构建镜像,预发环境部署验证通过后,生产阶段直接使用预发镜像发布上线。本场景您可以将预发流水线设置为生产流水线的源,生产流水线可以直接引用预发流水线中的构建产物并执行后续任务。

image

  1. 在流水线(如:生产流水线)编辑页,点击 添加流水线源,在 添加流水线源 抽屉中选择 Flow流水线,选择 源流水线(如:预发流水线) 和 默认版本

    高的 (21)

  2. 在流水线(如:生产流水线)环境部署任务,选择使用源流水线的构建产物(如:预发流水线镜像产物)直接发起部署。

    高的 (22)

  3. 此外,流水线之间也支持自动触发,打开 触发事件 开关,可选择自动触发的事件。如源流水线运行成功自动触发目标流水线运行。

    高的 (23)