创建流水线时,可以通过各种设置来自定义流水线配置。

流水线创建后,进入流水线详情页,点击编辑信息和更多操作中的编辑设置,也可以编辑流水线的配置。

本文档详细介绍如何设置流水线。

前提条件

  • KubeSphere 企业版平台需要安装并启用 DevOps 扩展组件。

  • 已创建一个企业空间、一个 DevOps 项目和一个用户 (例如 project-regular),并已邀请该用户至 DevOps 项目且授予 operator 角色。请参阅角色和成员管理

基本信息

基本信息页签,您可以自定义以下信息:

  • 名称:流水线的名称,同一个 DevOps 项目内的流水线不能重名。

  • DevOps 项目:流水线所属的 DevOps 项目。

  • 描述:描述流水线的附加信息,描述信息不超过 256 个字符。

  • 流水线类别:普通流水线或多分支流水线。若选择多分支流水线,则需要选择一个代码仓库。

  • 代码仓库(可选):选择一个代码仓库作为流水线的代码源,可选择 GitHub、GitLab、Bitbucket、以及 Git 作为代码源。

    • GitHub

      如果选择 GitHub,则必须指定用于访问 GitHub 的凭证。如果您已预先使用您的 GitHub 令牌创建了凭证,则从下拉菜单中选择已有凭证,或者点击创建凭证来创建新凭证。选择凭证后,点击确定,即可在右侧选择您的仓库。完成所有操作后,点击check

    • GitLab

      如果选择 GitLab,则必须指定 GitLab 服务器地址、项目组/所有者和代码仓库。如果访问代码仓库需要凭证,则需要指定一个凭证。完成所有操作后,点击check

    • Bitbucket

      如果选择 Bitbucket,则需要输入您的 Bitbucket 服务器地址。预先使用您的 Bitbucket 用户名和密码创建一个凭证,或者点击创建凭证来创建一个新凭证。输入信息后点击确定,即可在右侧选择您的仓库。完成所有操作后,点击check

    • Git

      如果选择 Git,则需要指定仓库 URL。如果访问代码仓库需要凭证,则需要指定一个凭证,或者点击创建凭证来添加新凭证。完成所有操作后,点击check

高级设置

指定代码仓库

如果指定了一个代码仓库,则可以在高级设置页签上自定义以下配置:

  • 分支设置

    删除旧分支:自动删除旧分支。分支记录将一起被删除。分支记录包括控制台输出、已归档制品以及特定分支相关的其他元数据。更少的分支意味着您可以节省 Jenkins 正在使用的磁盘空间。DevOps 提供两个选项来确定何时丢弃旧分支:

    • 分支保留天数(天):超过保留期限的分支将被删除。

    • 分支最大数量:分支数量超过最大数量时,删除最旧的分支。

    说明

    分支保留天数(天)分支最大数量可以同时应用于分支。只要某个分支满足其中一个字段所设置的条件,则会删除该分支。例如,如果您将保留天数和最大分支数分别指定为 2 和 3,待某个分支的保留天数超过 2 或者分支保留数量超过 3,则会删除该分支。DevOps 默认用 7 和 5 预填充这两个字段。

  • 策略设置

    策略设置中,DevOps 默认提供四种策略。Jenkins 流水线运行时,开发者提交的 PR (Pull Request) 也将被视为一个单独的分支。

    发现分支

    • 排除已提交 PR 的分支:已提交 PR 的分支将被排除。

    • 只包括已提交 PR 的分支:只拉取已提交 PR 的分支。

    • 包括所有分支:拉取源仓库中的所有分支。

    发现标签

    • 启用标签发现:拥有指定标签的分支将被扫描。

    • 禁用标签发现:拥有指定标签的分支不会被扫描。

    从原仓库发现 PR

    • 拉取 PR 合并后的代码:PR 合并到目标分支后,将基于源代码创建并运行流水线。

    • 拉取 PR 提交时的代码:根据 PR 本身的源代码创建并运行流水线。

    • 分别创建两个流水线:创建两个流水线,一个流水线使用 PR 与目标分支合并后的源代码版本,另一个使用 PR 本身的源代码版本。

    从 Fork 仓库发现 PR

    拉取策略:

    • 拉取 PR 合并后的代码:PR 合并到目标分支后,将基于源代码创建并运行流水线。

    • 拉取 PR 提交时的代码:根据 PR 本身的源代码创建并运行流水线。

    • 分别创建两个流水线:创建两个流水线,一个流水线使用 PR 与目标分支合并后的源代码版本,另一个使用 PR 本身的源代码版本。

    受信用户:

    • 贡献者:对 PR 做出贡献的用户。

    • 所有人:每个可以访问 PR 的用户。

    • 具有管理员或有编辑权限的用户:仅限于对 PR 具有管理员或编辑权限的用户。

    • :如果选择此选项,那么无论在拉取策略中选择了哪个选项,都不会发现 PR。

  • 正则过滤

    勾选选框以指定正则表达式来过滤分支、PR 和标签。

  • 脚本路径

    脚本路径参数指定代码仓库中的 Jenkinsfile 路径,它指代仓库的根目录。如果文件位置发生更改,则脚本路径也需要更改。

  • 扫描触发器

    勾选定时扫描,并从下拉列表中设置扫描时间间隔。

  • 构建触发器

    勾选通过流水线事件触发,从创建流水线时触发删除流水线时触发的下拉列表中选择一个流水线,以便在创建新的流水线或删除流水线时自动触发指定流水线中的任务。

  • 克隆设置

    • 启用浅克隆:如果开启浅克隆,则克隆的代码不会包含标签。

    • 克隆深度:克隆时需要提取的 commit 数量。

    • 克隆超时时间(min):完成克隆过程所需要的时长(以分钟为单位)。

  • Webhook

    Webhook 能有效地让流水线发现远程代码仓库中的更改,并自动触发新一轮运行。Webhook 应成为触发 Jenkins 自动扫描 GitHub 和 Git(例如 GitLab)的主要方法。有关更多信息,请参阅使用 Webhook 触发流水线

不指定代码仓库

如果不指定代码仓库,则可以在高级设置页签上自定义以下配置:

  • 构建设置

    删除过期构建记录:指定何时删除分支下的构建记录。构建记录包括控制台输出、已归档制品以及与特定构建相关的其他元数据。保留较少的构建可以节省 Jenkins 所使用的磁盘空间。DevOps 提供两个选项来确定何时删除旧的构建:

    • 构建记录保留期限(天):超过保留期限的构建记录将被删除。

    • 构建记录最大数量:当构建记录数量超过允许的最大数量,最早的构建记录将被删除。

    说明

    构建记录保留期限(天)构建记录最大数量可以同时应用于构建记录。只要某个构建记录满足其中一个字段所设置的条件,则会删除该构建记录。例如,如果您将保留期限和最大数量分别指定为 2 和 3,待某个构建记录的保留天数超过 2 或者最大数量超过 3,则会删除该构建记录。DevOps 默认用 7 和 10 预填充这两个字段。

    • 不允许并发构建:如果勾选此选项,则不能并发运行多个构建。

  • 构建参数

    参数化的构建过程允许在开始运行流水线时传入一个或多个参数。DevOps 默认提供五种参数类型,包括字符串多行字符串布尔值选项以及密码。当参数化项目时,构建会被替换为参数化构建,其中将提示用户为每个定义的参数输入值。

  • 构建触发器

    定时构建:允许定期执行构建。输入 CRON 表达式以设置定时计划。