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

时间:2012-03-21 09:39:06

标签: jenkins

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

#!/bin/sh
previousRelease=`git describe --tags --match "release*" origin/release`
git diff --name-status $previousRelease..origin/release

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

1 个答案:

答案 0 :(得分:2)

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

为了解决这个问题,我将使用一个带有两个作业的方法来检查diff(将一个作用到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

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

发布作业

2创建另一个作业(上面我假设你将它命名为releaseme)让作业有一个参数作为参数(勾选“This build is parameterized”)make让参数成为你想要释放的git-id。在此作业中创建发布脚本。