2017-01-01 15 views
1

現在、Jenkinsの基本的な配備パイプライン(パイプラインあり)で作業しています。私は以下を行う最良の方法を探しています:2つの支店を持つ1つのJenkinsジョブ

開発者が開発ブランチにプッシュすると、deploy以外のすべてのステージが実行されます。 開発者がマスターブランチにプッシュすると、deployを含むすべてのステージが実行されます。

私はあなたができるパターンについて読んだことがありますが、読んだ情報が日付通りに正しいかどうかは分かりません。

マイジェンキンスパイプラインファイル

node { 
    stage('Preparation') { 
     git '[email protected]:foo/bar.git' 
    } 
    stage('Build') { 
     sh 'mkdir -p app/cache app/logs web/media/cache web/uploads' 
     sh 'composer install' 
    } 
    stage('Test') { 
     sh 'codecept run' 
    } 
    stage('Deploy') { 
     sh 'mage deploy to:prod' 
    } 
} 

答えて

2

ここには魔法はありません。これは単なるGroovyコードです。スコープ内のブランチは、何らかの方法でパラメータとして使用できます。 "ステージ"ブロック内で、 "if"チェックを追加して、ブランチ名を必要なロジックと比較し、スコープ内のブランチに応じてボディを実行するかどうかを実行します。

関連する問題