web-dev-qa-db-ja.com

Azure DevOps:プル要求が完了するとリリースをトリガーする方法?

私は2つの枝を持っているレポーを持っています:

  • 開発(Repoのデフォルトのブランチ)
  • 主人

開発ブランチ内のコードは「アルファ」バージョンとして解放可能であることが知られていますが、マスター内のコードは製造準備完了であることがわかっています。

現在、開発ブランチのポリシーでは、PRがマージするためにCIビルドが正常に完了する必要があります。そのビルドはプリレードタグ(alpha-####)を持つNUGETパッケージアーティファクトを作成します。

リリースパイプラインはこれらのパッケージを取得し、それらを内部NUGETフィードに公開する責任があります。

私が達成しようとしているのは、リリースパイプラインが自動的にトリガーされることですPRが完了したときNOTCI成功する。

私はそれをすることを予想していましたが、それだけではありませんが、私の驚きにはPRのステータスが確認されず、CIビルドが完了するとすぐにリリースパイプラインが開始されます。

これは、PRが何らかの理由で拒否された場合、NUGETはまだ私のフィードに展開される可能性があります。

私はここで何をしていますか? PULLリクエストトリガーが継続的な展開トリガーとは異なる方法ではどのように機能しませんか。それでは目的は何ですか? :/

9
Crono

継続的な展開トリガーとは、リリースパイプラインに特定の種類のアーティファクトを指定した場合、連続展開を有効にすることができます。これにより、新しいアーティファクトを検出すると自動的に新しいリリースを作成するようにAzure Pipelineに指示します。

プル要求トリガー手段は、プル要求リリースが設定されると、Pull Request Resleaseが保護されたブランチに対してプル要求が発生した場合はいつでも、指定された環境にデプロイされたリリースが自動的にトリガされます。

したがって、これら2つのトリガーは異なり、ここで参照できるより詳細な情報です。 https://docs.microsoft.com/en-us/azure/devops/pipelines/release/deploy-pull-request-buildss?view=azure-devops

https://docs.microsoft.com/en-us/azure/devops/pipelines/release/trigers/view=azure-devops

また、PRが完了したらNUGETをデプロイしたい場合は、新しいビルドパイプラインを作成し、それについての継続的な統合を有効にすることをお勧めします。次に、リリースパイプラインアーティファクトとしてこのビルドパイプラインを設定します。 PRが完了すると、ターゲットブランチへの新しいコミットが作成され、この新しいコミットはビルドパイプラインをトリガーし、ビルドパイプラインはリリースパイプラインを開始してNUGETを期待どおりに展開します。

2
Frank Wang-MSFT

事実の1年以上にわたって、誰かがこれを1年以上にわたって探しているのであれば、私はそうでした。

あなたは私のgithubでここで見つけることができます: https://github.com/gravllift/onpullrequest

あなたの個々のニーズが何でもフィットするようにそれを解放してください。

0
GravlLift