Trigger Jenkins Build on Perforce按关键字提交

时间:2017-01-31 16:38:35

标签: jenkins perforce build-automation

我想知道是否有人知道是否有可能在Perforce提交上触发Jenkins构建,只要它有一个特定的关键字?

我的用例是我正在寻找一种方法来触发Jenkins构建,该构建将构建我正在处理的库的Nuget包,并将其放在正确的Nuget服务器目录中。我不想每次向Perforce提交时都要构建Nuget包,所以我想知道是否有可能设置某种触发器来仅运行Jenkins构建,如果更改列表中包含某些关键字描述。

有谁知道这是否可能,或者有关如何实现这一点的任何其他可能的想法?

1 个答案:

答案 0 :(得分:1)

这对我有用。我相信它可能更有效率,但它确实有效。这将在更改列表描述中查找字符串“buildit”。

首先,在Perforce中创建一个change-submit触发器,例如

buildit change-submit //... "/usr/bin/buildthis %changelist%"

(无论你把它放在哪里都应该是可写的,并创建一个名为“description”的文件,该文件也应该是可写的。)

以下是 buildthis 脚本的内容:

#!/bin/sh
changelist="$1"
P4PORT=perforce:1666
P4CLIENT=myclient
P4USER=myuser
p4 -p $P4PORT -c $P4CLIENT -u $P4USER describe $changelist >/usr/bin/description
if grep -q buildit /usr/bin/description;
    then 
        curl -X POST http://jenkinsserver:port/job/jobname/build?token=TOKEN
    else
        exit 0
fi