我正在尝试找到合适的配置,以便Jenkins在以下时间开始工作:
1. code is pushed to Github
2. a pull request it made
我发现Github和Github Pull Request Builder插件非常有用,但我不能让#1和#2同时工作。
它可能与我在源代码管理部分中设置的refspec有关。 #1需要+refs/heads/*:refs/remotes/origin/*
的refspec而#2需要+refs/pull/*:refs/remotes/origin/pr/*
的refspec。
我尝试在同一部分中使用两个存储库,但只使用一个或另一个版本,而不是两个。
我是否可以使用插件或特定配置来构建推送和拉取请求?
答案 0 :(得分:3)
您可以通过简单地用空格分隔它们来指定两个refspec:
sudo apt-get install openvswitch-testcontroller
sudo cp /usr/bin/ovs-testcontroller /usr/bin/ovs-controller
......如此处所述:https://git-scm.com/book/en/v2/Git-Internals-The-Refspec
然后配置多个分支说明符。我有:
+refs/pull/*:refs/remotes/origin/pr/* +refs/heads/*:refs/remotes/origin/*
这是构建,PR,主人和我的候选分支。
答案 1 :(得分:1)
如果您尝试在一个作业中设置两者,那么您可能需要稍微改变您的要求。
无论哪种
您可以在同一个jenkins中为不同的工作创建2个作业。
OR
使用pull request builder并设置配置以在构建后合并代码,这样就可以实现两者。
如果您的回购已推送除拉取请求以外的其他回复请求,则必须创建2个作业。