Jenkins - 在构建之前执行脚本,然后让用户确认构建

bcm*_*cfc 5 jenkins

我有一个看起来像这样的bash脚本:

#!/bin/sh
previousRelease=`git describe --tags --match "release*" origin/release`
git diff --name-status $previousRelease..origin/release
Run Code Online (Sandbox Code Playgroud)

有没有办法让Jenkins在构建过程中执行它?目的是查看自上次发布以来已更改的文件列表,作为确认发布应该上升的手动步骤.触发构建的用户需要读取输出,然后确认应该继续发布.

Sim*_*son 2

大多数事情都可以在 Jenkins 中完成,但如果这是最好的方法则是另一个问题

为了解决这个问题,我将使用一种包含两个工作的方法,一个用于检查差异(将其连接到 git 存储库),另一个用于执行实际发布。

检查差异作业

1 创建一个构建类型为“execute shell”的自由式项目类型的作业,并运行上面的脚本。在日志末尾添加一些打印内容,以创建一个可单击的链接,以使用当前 git-id 作为参数手动启动发布作业。

只需在控制台输出中打印 URL 即可使其可点击,因此:

export GITID=`git log -n| grep and sed or awk something`
echo http://jenkins.example.com:8888/job/releaseme/buildWithParameters?label=$GITID&parameters=build
Run Code Online (Sandbox Code Playgroud)

将创建您请求的接受更改用户界面。

发布工作

2 创建另一项作业(上面我假设您将其命名为releaseme)让该作业有一个参数作为参数(勾选“此构建已参数化”)让参数成为您想要发布的git-id。在此作业中创建您的发布脚本。