[英]Build on openshift with a Jenkins pipeline referring to a git branch
我有以下結構:
版本:
我能做的是:推動dev / master來啟動2個管道並建立兩個分支。 因為我不知道如何過濾在dev或master上進行的push / merge事件,所以開始兩個構建。 我想要這樣做是因為:
我看到了兩種解決方案。 在Gitlab上,不可能在已定義的分支上驅動webhook事件。 (或者在那里,我不知道如何?)在管道上,我可以編寫一些代碼來檢查女巫分支,是否進行了推/合並。 但是我不知道如何進行這項檢查。
還有其他選擇嗎? 如果可能的話,我不想更改工作流程,但是我願意聽到任何好的建議。
如果我缺少一些相關信息,請詢問我。 我不發布任何代碼,因為上下文非常大,原則上我只需要正確的方向或一些解決方案。
所以最后我自己找到了一種方法。
我認為它並不優雅,但目前可以解決我的問題。
我要做的就是以這種方式在管道中使用git檢查最后一個Merge和分支的最后一個哈希:
def lastMerge = sh(returnStdout: true, script: 'git show :/^Merge --pretty=format:"%H"').trim()
def hash = sh(returnStdout: true, script: 'git log -1 origin/master --pretty=format:"%H"').trim()
if(lastMerge==hash){
doTheJob()
}
如果有更好的解決方案,我很樂意聽。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.