1

Visual Studio Team Servicesでマイクロサービスアーキテクチャプロジェクトのリリースフローを設定しようとしています。この作業をするには、私のソリューションですべてのプロジェクト/サービスごとにアーティファクトを抽出する必要があります。ハードコードされた値を持つすべてのサービスに対して個別のビルドステップを設定することで、これを手動で行うことができます。 しかし、私はもっと一般的にしたいのですが?マイクロサービスアーキテクチャ用にVSTSでリリースフローを構築する

私の夢のシナリオでは、サービス名を入力としてタスクグループを作成し、展開するサービス/プロジェクトのリストを送信することができます。 私はタスクグループを作成する方法を理解しましたが、タスクを呼び出すオブジェクトのリストをループする方法ではなく、ビルドへの入力としてリストを持たせる方法ではありません。 提案がありますか?任意のサードパーティのツールまたは私は代わりにPowerShellのスクリプトを見て私の時間を過ごす必要がありますか?

編集:私は、私はいくつかの擬似コードにしたい私のものを明確化しようとします:

BuildAndReleaseCode(solution, listOfServicesToBuild) 
{ 
    NuGetRestore(solution); 
    outputfolder = BuildSolution(solution); 
    //Add testing 
    for (service in listOfServicesToBuild) 
    { 
     CopyFilesAndPublishArtifact(sourceFolder, targetfolder) 
     DeployArtifact(targetFolder, targetMachine) 
    } 
} 
+0

指定したハードコードされた値は何ですか? –

+0

これはこの問題を解決しますか? –

+0

@starain楽しいことではありません。しかし、私はそれが私が探しているものを明確にするためにいくつかの疑似コードを追加しました。 – jimmy

答えて

2

一般的なプロセス:

  1. (プロジェクトをビルドし、アーティファクトを公開するビルド定義(複数可)を作成します。 Publish Artifactステップ)(複数のVisual Studioビルドステップを含むビルド定義または各プロジェクトの複数のビルド定義) Visual Studioビルドのプロジェクト/ソリューションを指定する必要があります。
  2. キューのビルド(S)
  3. プロジェクトを展開するために必要なタスクや環境を追加し、このリリースにリリース定義
  4. リンク一の以上のアーティファクト(成果物を作成)(アーティファクトタブ)
  5. を作成します。
  6. は、リリースを作成し、新しい成果物のバージョンが利用可能になったとき(オープンリリースの定義=>タブをトリガ)のリリースをトリガすることができ

展開に放出し始めます。

また、特定の時刻にチェックインまたはビルド時にビルドがトリガーされる可能性があります。 (オープンビルド定義=>タブをトリガ)

更新:

は、Visual Studioのビルドの手順については、ワイルドカードは、例えば、使用することができ、すべてのサブフォルダ内のすべてのSLNファイルについて*** SLNは、そう。ハードコードされた値を持つプロジェクトを指定する必要はありません。

ソリューションで特定のプロジェクトをビルドする場合は、/t parameterと指定できます。

これらのプロジェクトが異なるソリューションと場所にある場合、MSBuildタスクを使用してプロジェクトを作成するMSBuild project fileを作成できます。一方

、カスタム、それを達成するために、タスクを構築することができ、あなたが VSBuild codeを参照することができますし、カスタムビルドタスクにこれらの記事( 1または 2)、その後、プロジェクトリストの引数を指定して、このカスタムビルドタスクを使用して構築しますあなたが望むプロジェクト。

+0

ああ、あなたがリンクしている記事はおそらく私が望むものです。ありがとうございました! – jimmy

関連する問題