私は 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'
}
}
}
パイプライン ページには、準備から始まるすべてのステージを実行する「今すぐビルド」があります。
私の質問は次のとおりです。
- 自分の好きなステージを実行するにはどうすればよいですか? 例えば準備からではなく挨拶?
- ステージ間の依存関係をどのように定義しますか? 次のステージが終わった後に呼ばれるステージのことです
- 特定のユーザーが開始できるステージを制限する方法はありますか? 特定のユーザーのみに Greeting ステージを起動させたいとします。
- 手動ステージをどのようにセットアップしますか?
更新:私の質問の背後にある本当の目標は、Jenkins 2 パイプラインを使用した次のような継続的デリバリー パイプラインのモデリングです。
Build stage --> AUTO --> Acceptance Stage --> MANUAL --> Production Stage
--> MANUAL --> QA Stage
これは私が望む動作です:
ビルド ステージ(すべてのユーザーが開始できます) が完了すると、自動的にAcceptance Stageがトリガーされます。これは手動では起動できず、ビルド ステージが正常に終了した後にのみ自動的に起動されます。
Acceptance Stageから、承認されたユーザーのみがQA StageとProduction Stageを手動でトリガーできるようにする必要があります。
ビジネス フローは次のようになります。開発者がビルド ステージに到達し、そのコードがビルドされてパッケージ化されます。受け入れステージが開始され、パッケージ化されたコードを使用して一連の自動テストが実行されます。
この時点で、受け入れ段階が正常に終了すると、次の 2 つのことが発生する可能性があります。
- より多くのテスト (Cucumber、マニュアルなど) を実行するには、QA ステージが必要になる場合があります。一部の許可されたユーザーがこのステージを起動します。
- プロダクト オーナーが満足したら、Production Stage を起動してコードを本番環境にデプロイすることを決定できます。
これを Jenkins 2 パイプラインでモデル化するのに苦労しています。