Azure Pipelines YAML形式を使用してパイプラインを設定しています。ビルド、ステージング、プロダクションの3つのステージを作成しました。名前が示すように、ビルドステージはプロジェクトをビルドし、ビルドアーティファクトを公開します。ステージングステージはステージング環境にデプロイされ、本番ステージは本番環境にデプロイされます。
プロジェクトの[環境]セクションに、運用環境のチェックを追加して、稼働前にデプロイメントを承認できるようにしました。
私のパイプラインが機能する方法は、ビルドステージの終了後にステージングステージとプロダクションステージの両方が自動的にトリガーされることです。これについて私が気に入らないのは、開発者がコードをステージングにデプロイする場合、コードを本番環境にプッシュする前に、ステージングでテストするのに数日かかることです。そのため、それまでの間、パイプラインは実行を続け、私の承認を待ちます。左上隅のスピナーが回転し続け、「Duration」フィールドが通過し続けます。
開発者がビルドステージをトリガーする代わりに、準備ができたときに手動でプロダクションステージをトリガーする方法はありますか?
はい、できます。直接yamlでは行いません。しかし、代わりにYAMLに環境を追加します。また、環境では手動トリガーを追加します。
environment: 'smarthotel-dev'
環境とトリガーはUIを介して管理されます。
https://docs.Microsoft.com/en-us/Azure/devops/pipelines/process/environments?view=Azure-devops