1. 概述
本文将介绍如何在 Jenkins 中创建一个用于构建 Git 项目的作业,并看到如何选择要构建的分支。为此目的,我们将使用 Active Choices 插件。
2. 安装 Active Choices 插件
首先,我们需要安装 Active Choices 插件。在 Jenkins 的左侧面板中,点击 Manage Jenkins:
然后,在 系统配置 栏目下,选择 管理插件:
最后,转到 可用 部分,在过滤输入框中键入 Active Choices 并勾选框:
现在可以点击 不重启安装 按钮,安装将进行!
3. 作业创建
接下来,我们将创建我们的作业并配置分支选择。
3.1. 创建参数化作业
为了创建作业,在 Jenkins 的左侧面板中,点击 新建项目:
出现项目创建界面。让我们将 自由式项目 称为 Demo Git 分支配置:
我们现在到达了作业的配置页面。在 一般 部分,勾选 此项目是参数化的 复选框。*然后,我们将在 添加参数 下拉菜单中选择 Active Choices 反应参数:*
点击后,将弹出参数配置界面。
3.2. 添加 Groovy 脚本获取分支
我们现在可以配置我们的反应参数。我们将它命名为 branch,并保持为 单选:
现在,勾选 Groovy 脚本 并在出现的 脚本 区域填写以下脚本:
def gitUrl = "https://github.com/eugenp/tutorials.git"
def gitBranches = "git ls-remote --heads ${gitUrl}".execute().text.readLines().collect { it.split()[1].replaceAll("refs/heads/", "") }.sort().reverse()
首先,我们定义了要检出的 GitHub 存储库的 URL。然后,我们使用了 git ls-remote 命令来检索此存储库的远程分支信息。我们将这些信息转换为文本行集合:每行代表一个不同的分支。每个分支名称是每行中的第二个元素。此外,我们从每个分支名称中删除了 refs/heads 前缀以增加清晰度。最终,我们将列表按字母顺序排序,使其更易于用户使用。
3.3. 配置源代码管理
现在,让我们转向 源代码管理 子部分。为了完成作业的配置,需要将 Git 选项替换为 无。将显示用于配置 Git 存储库的界面。我们将填写 仓库 URL:它与 Groovy 脚本中使用的 URL 相同。我们也需要指定要构建的分支。 因为我们将反应参数命名为 branch,所以我们将 ${branch} 放入这个字段:
现在可以点击页面底部的 保存 按钮,完成作业的创建!
4. 使用
我们现在来到了 Demo Git 分支配置 项目的根页面。在左侧面板中,点击 使用参数构建:
现在被要求选择要构建的分支。 我们的示例存储库只有一个唯一的 master 分支,因此它是唯一可用的选择:
5. 总结
在这篇教程中,我们安装了 Active Choices 插件。它帮助我们创建了一个参数化作业。我们的参数包含了一个来自 Groovy 脚本获取的 GitHub 存储库中所有分支的列表。这最终使我们能够在运行作业时选择要构建的分支。