0

各クラスタに最低3台のサーバが必要なハードウェア要件のため、このハードウェアを使用して複数の支店/環境をサポートしたいと考えています。具体的には、一般に、複数の並列開発プロジェクトをサポートするために、3つのDevと3つのTestブランチを同時に実行します。本番環境にリリースした後、コードは他のブレイクにマージされます。サービスファブリック - 1つのクラスタに複数のブランチを展開する方法

アプリケーションタイプのインスタンスを複数作成することはできますが、実際に必要と思われるのは、複数のバージョンのアプリケーションタイプを同じクラスタに配置することです。同時に、AブランチとBブランチで同時に開発が行われる可能性が非常に高い。両方のブランチをテストしてデプロイクラスタにデプロイする必要があります。

同様に、同じクラスターを使用して、テスト環境のエンドポイントを公開したいとします。コードがプロモートされると、アプリケーションのTestBバージョンをデプロイすることができます。バグ修正が行われた場合、そのアプリケーションタイプのDevBバージョンに修正されてデプロイされます。

WebAPIエンドポイントを処理するビルドスクリプトで環境固有のWEBAPIサービスマニフェストを選択することを予定しているポートの問題には、サービスファブリックアプリケーションを呼び出しアプリケーションに公開するポート番号が含まれているためです。そこでServiceManifest-DevB.xmlファイルを作成して、古いServiceManifest.xmlとして名前を変更し、DevBビルド時にパッケージ化します。 ServiceManifest-TestB.xmlは同じ処理を行いますが、異なるポートを持ちます。もう1つのオプションはTokenizerです。

しかし、同じアプリケーションタイプの異なるバージョンをクラスタで実行するにはどうすれば苦労していますか?パラメータファイルまたはその行に沿った何かのアプリケーションタイプを上書きすることはできますか?私は本当にこのために6つのクラスタを構築する必要はないと思っていますか?それは飛ばないハードウェアのトンです。

あなたは新ServiceFabricApplicationを介してアプリケーションのインスタンスを作成するときは、アプリケーションの目的のバージョンを渡すことができます助け、事前のおかげで、 グレッグ

答えて

0

私はこの質問を1年前に受けて、これを置いていました。今度は、私はそれを文書化するので、この時間!

私はDev環境とTest環境の両方に1つのクラスタを使用しており、2つのブランチを使用しています。私は、これらの2つのブランチのアプリケーションを異なるアプリケーション名で展開できるようにする必要がありました。

これを理解するには、私はps1トレイルに従った。まず、PublishProfileをPublish-NewServiceFabricApplication.ps1に渡したばかりのDeploy-FabricApplication.ps1を見てください。このユーザーはUtilities.ps1のGet-ApplicationNameFromApplicationParameterFileというメソッドを使用します。このすべてが行うには、環境固有のアプリケーションのパラメータ・ファイルのオープンで、トップにそれを読み取る:

<Application xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Name="fabric:/MyAppDEVA" xmlns="http://schemas.microsoft.com/2011/01/fabric"> 

使用は、この私のテストアプリケーションPARAMTERに

「ファイル:これは私のDevアプリケーションPARAMTERファイルです

使用を

<Application xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Name="fabric:/MyAppTEST" xmlns="http://schemas.microsoft.com/2011/01/fabric"> 

簡単にあなたが知っているさわやかな、と知っては戦いの半分である。

1

してください。必要なアプリケーションの種類とバージョンをコピーして登録してから新しいものにしてください。

+0

男ねえ、ここではあなたに戻って得ることに若干遅れて申し訳ありません。:)手動で展開する場合、正しい答えがありますが、アプリケーションパラメータファイルと公開プロファイルを使用している場合、答えはApplicationParamterファイルのApplicaitonNameを更新することです。 – gperrego

関連する問題