単一のリポジトリに対する複数の Jenkins パイプライン

okwaves2024-01-25  14

現時点では、1 つのリポジトリに対して 2 つのマルチジョブ プロジェクトがあります。

最初は開発ブランチで実行されます オープンされたすべてのプルリクエストに対して 2 回目の実行

それぞれには、ネストされたフリースタイル ジョブが多数あります。それらはまったく異なります。

Jenkinsfile を使用して Pipeline-as-Code に切り替えることを検討しています。そこで私の質問は、たとえばブランチ名などに基づいて Jenkinsfile のパス/名を切り替える方法はあるのかということです。 MultiBranch Pipeline ジョブ タイプを使用しようとしましたが、設定できるのは 1 つの Jenkinsfile パスのみで、PullRequest を含むすべてのブランチにわたって使用されます。

それを達成するためのもっと良い方法があるかもしれません?議論に応じます。ありがとう



------------------------

--

when 式を使用すると、1 つの jenkinsfile で実行できます。パイプラインはそれほど大きくないと思います。

pipeline {

agent any

stages {
  stage("Set variables from external input") {
    when {
      branch "develop"
    }
    steps{
      #add the thing which you want execute when branch is develop
    }
  }

stage("2 for Pull request") {
  when {
    expression {return !env.GIT_BRANCH.contains('master|develop')}
  }
  steps{
   #add the thing which you want execute when branch is pull request
   }
  }
 }
}

1

PR のブランチ名を動的にすることは可能ですか?つまり、develop または master ではないブランチはありますか?

– ひげを生やした

2020 年 9 月 4 日 18:53

総合生活情報サイト - OKWAVES
総合生活情報サイト - OKWAVES
生活総合情報サイトokwaves(オールアバウト)。その道のプロ(専門家)が、日常生活をより豊かに快適にするノウハウから業界の最新動向、読み物コラムまで、多彩なコンテンツを発信。