Jenkins使用git push执行作业

时间:2014-12-23 09:31:51

标签: git jenkins phpunit jenkins-plugins

我正在使用Git [用于版本控制],PHPUNIT [单元测试]和Jenkins [CI]来处理PHP项目,现在我必须设置系统,这样当我使用命令" Git Merge"时, Jenkins的工作应该开始使用窗口环境运行单元案例。我需要任何Jenkins插件或其他东西来实现这一点。

1 个答案:

答案 0 :(得分:1)

这取决于您设置的Jenkins作业的监控程序 您至少需要Git plugin for Jenkins

如果它直接是你刚刚合并了提交的Git仓库,你可以设置一个post-merge hook来通知你的Jenkins新的合并提交。
您正在将接收合并的分支推送到远程GitHub存储库,然后您需要GitHub plugin for Jenkins和后接收挂钩。

在这两种情况下,您都可以设置挂钩以通知Jenkins服务器需要进行轮询,以获取特定分支上的新提交并启动作业。

从存储库推送通知

  

为了最小化推送和构建之间的延迟,建议在存储库中设置post-receive挂钩,以便在进行新提交时戳Jenkins。为此,请在hooks / post-receive中添加以下行,其中“Git存储库的URL”是用于克隆此存储库的完整URL。

curl http://yourserver/jenkins/git/notifyCommit?url=<URL of the Git repository>[&branches=branch1[,branch2]*][&sha1=<commit ID>]
  

这将扫描配置为检出指定URL,可选分支的所有作业,如果它们也配置了轮询,它将立即触发轮询(如果找到值得构建的更改,将依次触发构建)   我们需要在作业上进行轮询配置,以便我们只触发应该从源树中的更改中踢出的作业。