現時点では、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