Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在特殊情况下停止要执行的接收后脚本_Ios_Git_Jenkins_Info.plist_Git Post Receive - Fatal编程技术网

Ios 在特殊情况下停止要执行的接收后脚本

Ios 在特殊情况下停止要执行的接收后脚本,ios,git,jenkins,info.plist,git-post-receive,Ios,Git,Jenkins,Info.plist,Git Post Receive,我正在使用Git服务器中的post接收钩子调用jenkins作业。我有一个特例,如果推送操作来自构建机器(git用户),我不希望调用jenkins作业。或者,如果推送包含一些特定文件(比如info.plist)的提交,我不希望执行post接收。解决这个问题的方法是什么?我不想为詹金斯使用git插件 谢谢基本思路是在您的条件满足时提前退出0(这意味着post接收报告成功,即使它不呼叫Jenkins): 如果推送操作来自生成机器 没有迹象表明Git中推送的提交的来源,因此该生成机器上的Git用户

我正在使用Git服务器中的post接收钩子调用jenkins作业。我有一个特例,如果推送操作来自构建机器(git用户),我不希望调用jenkins作业。或者,如果推送包含一些特定文件(比如info.plist)的提交,我不希望执行post接收。解决这个问题的方法是什么?我不想为詹金斯使用git插件


谢谢

基本思路是在您的条件满足时提前退出0(这意味着post接收报告成功,即使它不呼叫Jenkins):

  • 如果推送操作来自生成机器
没有迹象表明Git中推送的提交的来源,因此该生成机器上的Git用户应该留下一些线索,允许上游钩子将所述提交标识为来自所述生成机器。
它可以是与关联的

  • 如果推送包含一些特定文件(比如info.plist)的提交,我不希望执行post接收

从,您可以,并测试是否看到您不想要的。我使用git的日志解决了这个问题。我的post receive脚本包含对电子邮件id的检查。如果电子邮件id不属于构建机器,则调用jenkins作业。我们可以使用
git log-1 HEAD--pretty=format:%ae

获得上次提交的git用户的电子邮件id,谢谢VonC。我发现我们可以从git日志-1中获取git checkin的作者姓名和电子邮件id。它是git日志-1。我们可以用漂亮的格式得到准确的信息。参考号:。