我在接收后挂钩和Jenkins集成方面遇到了问题。 我在GIT储存库的hooks目录中添加了一个名为post-receive的文件。文件内容为:
#!C:/Program\ Files/Git/usr/bin/sh.exe
echo "Post-receive started..."
curl.exe --user Jakob:tempPassword --url "http://localhost:8080/job/TestJob/build?token=ebcc64cb8315211c5287b20b3fdd7190"
echo "Post-receive ended..."
在詹金斯方面,我有一份这份代币的工作。 我正在Windows 10机器上运行Jenkins和GIT-repos。
现在是问题所在。如果我在git bash shell中本地执行上述命令,则将执行所有操作并启动Jenkins构建。一切都很好。
但是,如果我向GIT-repo提交/推送了一些东西,我可以看到post-receive-hook被执行了(就像我在tortoisegit窗口中看到的那样),但是jenkins作业没有执行!
问题是什么?
答案 0 :(得分:0)
我已经为此苦苦挣扎了两天,在发布我的问题后,我找到了解决方案。我将Jenkins重新配置为使用计算机中NIC的ip地址(而不是例如192.168.1.55所使用的localhost),并将sh脚本更新为:
#!C:/Program\ Files/Git/usr/bin/sh.exe
echo "Post-receive started..."
curl.exe --user Jakob:tempPassword --url "http://192.168.1.55:8080/job/TestJob/build?token=ebcc64cb8315211c5287b20b3fdd7190"
echo "Post-receive ended..."
现在可以正常工作了!