文档

配置流水线源

更新时间:

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

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

代码源

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

  • Codeup

  • 自建 Gitlab

  • 码云

  • 通用Git

  • Github

  • Gitlab

  • Bitbucket

  • SVN

image.png

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

image

制品源

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

  • 云效 Packages 通用制品

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

  • 阿里云 ACR 镜像仓库

    • 添加容器镜像服务连接,选择ACR(仅支持企业版ACR镜像仓库),选择region、实例、命名空间、镜像仓库、镜像版本

image.png

image

Jenkins源

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

image

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

image

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

image

重要

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

image

Flow流水线源

在实际应用过程中,存在构建环节和部署环节分离的场景。比如,需要对开发环境、测试环境、生产环境分别进行部署,但是每个环境的部署频率是不同的。如果将多个环境的部署配置在同一条流水线,则会存在多次重复、取消的情况。如果将多个环境配置成多条流水线,则每个环境在部署过程中会出现重复构建的现象。

因此,Flow 支持跨流水线制品传递(通用制品或镜像),典型使用场景如下:预发阶段从源代码构建镜像,预发环境部署验证通过后,生产阶段直接使用预发镜像发布上线。本场景您可以将预发流水线设置为生产流水线的源,生产流水线可以直接引用预发流水线中的构建产物并执行后续任务。

image

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

image

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

image

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

image