我想知道是否有人知道是否有可能在Perforce提交上触发Jenkins构建,只要它有一个特定的关键字?
我的用例是我正在寻找一种方法来触发Jenkins构建,该构建将构建我正在处理的库的Nuget包,并将其放在正确的Nuget服务器目录中。我不想每次向Perforce提交时都要构建Nuget包,所以我想知道是否有可能设置某种触发器来仅运行Jenkins构建,如果更改列表中包含某些关键字描述。
有谁知道这是否可能,或者有关如何实现这一点的任何其他可能的想法?
答案 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