[英]How to trigger a Jenkins 2.0 Pipeline job from a GitHub pull request
看起來GitHubPullRequestBuilder與Jenkins v2.0管道作業不兼容。
如何配置從GitHub拉取請求事件觸發的管道作業?
關於這個主題的文檔很少,我找不到任何這方面的例子。 或者,最好在GitHub中創建一個Web掛鈎來觸發PR事件的管道作業?
我有類似的問題。 這對我有用
預-REQ
在Github上
YourJenkinsURL/github-webhook/
pipeline { agent any stages { stage('Test') { steps { echo 'Hello World ...' } } } }
在詹金斯
+refs/pull/*:refs/remotes/origin/pr/*
${sha1}
而已。 你們都准備好了。 在您的倉庫的主分支上創建PR現在應該觸發您的Jenkins管道作業
一些觀察
使用Pipeline和GitHub pull請求的最直接的方法是將腳本放在名為Jenkinsfile
存儲庫中,然后安裝GitHub Branch Source插件。 文檔
簡而言之,流程可以是這樣的:
您將管道創建為代碼並將其保存在項目根目錄中名為Jenkinsfile
的文件中。 該代碼應描述您的項目將如何構建。 請參閱此處的示例: https : //jenkins.io/doc/pipeline/examples/
然后,您應該在Jenkins中創建一個新的“Multibranch Pipeline Project”項目。 您應該對其進行設置,以便掃描步驟1的回購。
現在每當你在第1步回購時打開一個新的PR分支時,分支將被檢出並將根據它附帶的Jenkinsfile指令構建。 您可以針對構建的內容以及何時構建更多條件。
筆記:
“Multibranch Pipeline Project”示例文檔: https ://jenkins.io/doc/book/pipeline-as-code/(向下滾動到Multibranch Pipeline Projects)
請記住,在PR上表示贊成后,獲取插件以構建PR不起作用。 這里有一個討論分析: https : //github.com/jenkinsci/gitlab-plugin/issues/298有一些解決方法(在討論中也有描述),但它們設置起來非常混亂。
按照以下步驟在GitHub上生成的Pull請求上自動觸發Jenkins作業
詹金斯工作配置
在Jenkins下載Generic Webhook Trigger
Jenkins上的Git Hub配置
7.在jenkins上選擇Generic Webhook Trigger 8. 在Jenkins上進行通用Webhook觸發器配置並按照步驟9進行操作
9.執行第7步后,Jenkins作業將觸發PullRequest 10.Step 8需要從Pull request Payload 11獲取信息.Generic Webhook Trigger中的分支配置從Pull Request獲取分支詳細信息
謝謝
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.