Git 的打标签命令(git tag)可以针对某一时间点的代码提交做标记,常用于版本发布。然而在 Jenkins 多分支流水线 任务中,默认是未启用标签策略的,本文将借助 Basic Branch Build Strategies 插件,来实现标签的自动化构建。
发现标签
在 Jenkins 工作台打开一个多分支流水线项目,从左侧的配置进入配置管理页面:
找到分支源——行为节点,点击 Add 按钮新增一个发现标签的行为,然后保存:
发现标签可以让 Jenkins 在扫描仓库时发现代码库的标签,此时构建任务需要手动触发。
安装插件
出于生产环境的安全考虑,流水线任务不会自动构建标签,因此需要安装插件来提供构建策略的支持。
打开插件管理页面,然后切换到可选插件列表,输入 Basic Branch Build Strategies:
勾选 Basic Branch Build Strategies 插件,选择下载待重启后安装,待插件安装完成后,重启 Jenkins。
配置构建策略
再次来到项目的配置管理页面,会发现在分支源多了一个Build strategies节点,点击新增按钮添加 Tags:
在添加插件提供的构建策略后,将禁用“构建除标签外的所有内容”的默认设置(即取代默认构建策略)。我们可以接着添加 Regular branches 与 Change requests,使 Jenkins 在扫描到代码变更或合并请求时,自动触发构建任务。
测试自动构建
最后,在本地代码仓库打一个标签,并将标签推送到远程仓库:
$ git tag -a v1.0.0 -m "Release version 1.0.0"
$ git push origin v1.0.0
打开 Jenkins Blue Ocean,可见基于标签的流水线任务已自动构建: