2017-02-06 4 views
0

私は比較的新しいJenkins(2.32を使用)です。だから私の無知を赦してください。Jenkins - 1つのプロジェクトに関する複数のジョブ

私の現在の設定では、プロダクションブランチ(/master)とプロビジョニングブランチ(/dev)の1つのプロジェクトに対して、2つのフリースタイルジョブがあります。 BitbucketはJenkinsの変更を(webhook)呼び出すように設定されています。

devがビルドされ、すべてのユニットテストに合格すると、Dev Serverにデプロイされます。最終的に、すべての開発者の変更は、プル要求によってマスターにプッシュされます。マスターブランチが変更されると、マスタージョブがトリガーされ、アーティファクトがプロダクションにデプロイされます。

この設定が正しいとは思わないが、専門家にこれについて助言してもらいたいと思います。 2つの仕事を持つことは私を不快にさせます。私が舞台をリリースしたい場合はどうすればいいですか?私は別のフリースタイルの仕事が必要になります。あまり意味がない。

1つのジョブでこれを行うにはどうすればいいですか?あなたはどうやってこれを達成するのですか?パイプラインを使用しますか?どんな指針も大変ありがとうございます。

TIA。

答えて

1

あなたは正しい、あなたは何ができるかJenkins Pipeline

でこれよりよく管理することができ、次のとおりです。

1)のdevの枝からコードをチェックアウトし、ワークスペース内のディレクトリに置きます。

2)そのディレクトリからコンパイルして展開します。

3)マスターブランチからの配布を承認するための手作業を追加します。

node {  
    // Get code from git repo 
    checkout changelog: false, poll: false, scm: [$class: 'GitSCM', branches: [[name: "origin/dev"]], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'test-dev-dir']], submoduleCfg: [], userRemoteConfigs: [[credentialsId: '<jenkins-github-credential-id>', url: 'https://github.com/test']]] 

     dir('test-dir') { 
     // Do your stuff 
     } 

    // stage concurrency: 1, name: 'approve' 
    // input id: 'master-deploy', message: 'Deploy from master?', ok: 'Deploy' 

    // Get code from git repo 
    checkout changelog: false, poll: false, scm: [$class: 'GitSCM', branches: [[name: "origin/master"]], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'test-master-dir']], submoduleCfg: [], userRemoteConfigs: [[credentialsId: '<jenkins-github-credential-id>', url: 'https://github.com/test']]] 

    dir('test-master-dir') { 
     // Preferbably create a tag for future hotfix maybe? 
     // Do your stuff 
     } 
} 
+0

おかげでマニッシュ:

4)の手順を繰り返し1と2

サンプルコードは次のようになります。あなたはDevコードの変更をrepoに戻すためにどのようにプッシュしますか? –

+0

私はこれがマージプロセスだと考えています。手動で解決する必要がある潜在的な競合がある可能性があるため、手動でマージする現在のプロセスに従うことをお勧めします。そのため、マニュアル承認プロセスを追加して、一部を統合したら展開を承認することができます。 –

関連する問題