2017-08-31 6 views
-2

エンタープライズ環境の展開は、プロダクション環境への展開を事前に承認する必要があり、承認の遵守が であることを意味する監査が必要です。Visual Studio Team Servicesでの展開の監査方法を教えてください。

私は、Visual Studio Team Services内ですべての展開がツールの機能と柔軟性を損なうことなく監査されるようにする方法を探しています。

専用のプロジェクトチームメンバーが、必要なタスクと設定でリリースまたはビルドテンプレートを定義できる理想的なソリューションです。ただし、ビルドテンプレートまたはリリーステンプレートを実行する前に、検証が実行されます。検証では、承認、定義されたターゲット環境、およびデプロイメントが事前承認されているか拒否されているかを判断するのに役立ついくつかの兆候があるかどうかを確認できます。

VSTSのビルドテンプレートとリリーステンプレートのセキュリティスキームには柔軟性がありますが、十分な制御ができません。実際には、ビルドテンプレートリリース管理の承認機能では、単純なビルドプランから実行できるため、事前に承認されていることは保証されていません。

1つのアプローチは、サービスフックを同期させることができる場合です。イベントはすべてのビルドおよびリリース前に発生し、イベントペイロードではすべての詳細が提供されます。解析はペイロード上で実行され、結果に応じてビルドまたはリリースを実行または停止させることができます。ただし、サービスフックは非同期であるため、この目的には使用できません。

他の方法では、毎回実行されるエージェントにタスクをインストールでき、実行前にビルドやデプロイメントを検証できない場合があります。タスクはチームによって定義されなければならず、信頼性がないため、これは可能ではないようです。

基本的に解析が可能で、必要に応じてデプロイメントやビルドをブロックするコントロールを実装する方法については、何か提案があります。

答えて

0

デプロイメントが完了した後に確認したいと思うようです。

実際には、展開後の承認者は、環境の展開後に指定することができる配備承認者があります。

または、最後の環境の最後にPowershellタスクを追加して情報(承認者、環境など)を取得できます。

1.REST APIことで、現在のリリースの詳細情報を取得する:あなたは、物事の下に行うことができますPowerShellの

GET https://account.vsrm.visualstudio.com/project/_apis/Release/releases/$(Release.ReleaseId) 

2.情報を検索するには次のものが必要です。

キーワードpreDeployApprovalsを検索して展開前承認を取得します。環境情報を入手するには、"environments": []で詳細をご覧ください。

3。設定した条件が満たされていない状態でデプロイメントを失敗させたい場合は、設定した値とapprover/enviromentの情報を比較し、等しくない場合はexit 1で終了します。

+0

リリースおよび展開がすでに完了しているときに問題が発生することがあります。我々の要件は、執行が起こる前に、事前に承認を与えなければならないということです。 – zlogo

+0

次に、REST API https://www.visualstudio.com/en-us/docs/integrate/api/rm/releases#get-a-releaseを使用して、展開の詳細情報を取得することができます。 –

+0

実際に私が考え出すことのできる唯一の解決策は、ビルドテンプレートとリリーステンプレートの内容を継続的に分析し、欠落している場合にフラグを立てる自動化ジョブを作成することです。 – zlogo

関連する問題