3

私は Jenkins 2 パイプラインにまったく慣れていません。

次のビューで Jenkins 1 パイプラインを試しました。

ここに画像の説明を入力

特定のステージを直接開始することもできます。たとえば、テストをスキップして、リリース ステージから実行を開始することを選択できるとしましょう。

私は非常に単純な Jenkins 2 パイプライン定義を持っています:

stage('Preparation'){
    echo """
         Preparing
         something
         """
}
stage('Greeting') { 
    parallel 'hello1':{
        node{
            echo 'hello world 1'
        }
    }, 'hello2':{
        node{
            echo 'hello world 2'
        }
    }
}

パイプライン ページには、準備から始まるすべてのステージを実行する「今すぐビルド」があります。

私の質問は次のとおりです。

  1. 自分の好きなステージを実行するにはどうすればよいですか? 例えば準備からではなく挨拶?
  2. ステージ間の依存関係をどのように定義しますか? 次のステージが終わった後に呼ばれるステージのことです
  3. 特定のユーザーが開始できるステージを制限する方法はありますか? 特定のユーザーのみに Greeting ステージを起動させたいとします。
  4. 手動ステージをどのようにセットアップしますか?

更新:私の質問の背後にある本当の目標は、Jenkins 2 パイプラインを使用した次のような継続的デリバリー パイプラインのモデリングです。

Build stage --> AUTO --> Acceptance Stage --> MANUAL --> Production Stage
                                          --> MANUAL --> QA Stage

これは私が望む動作です:

ビルド ステージ(すべてのユーザーが開始できます) が完了すると、自動的にAcceptance Stageがトリガーされます。これは手動では起動できず、ビルド ステージが正常に終了した後にのみ自動的に起動されます。

Acceptance Stageから、承認されたユーザーのみがQA StageProduction Stageを手動でトリガーできるようにする必要があります。

ビジネス フローは次のようになります。開発者がビルド ステージに到達し、そのコードがビルドされてパッケージ化されます。受け入れステージが開始され、パッケージ化されたコードを使用して一連の自動テストが実行されます。

この時点で、受け入れ段階が正常に終了すると、次の 2 つのことが発生する可能性があります。

  1. より多くのテスト (Cucumber、マニュアルなど) を実行するには、QA ステージが必要になる場合があります。一部の許可されたユーザーがこのステージを起動します。
  2. プロダクト オーナーが満足したら、Production Stage を起動してコードを本番環境にデプロイすることを決定できます。

これを Jenkins 2 パイプラインでモデル化するのに苦労しています。

4

2 に答える 2