2016-05-12 5 views
0

サービスファブリックアプリケーションの下にサービスがいくつかあります。彼らは現在バージョン1.0.0にすべて座っています。アプリケーション/サービスの手動ロールバック

バージョン2.0.0のクラスタに更新を展開します。すべてが正常に実行され、展開は成功します。私は非常に大きいことに気づいているが、バージョンでは。バージョン1.0.0に手動でロールバックする方法はありますか?私が見つけた唯一の事は、アップグレード中の自動ロールバックです。

答えて

4

マットの答えは正しいが、ここで少し詳しく説明する。

キーは、アプリケーションの展開時に異なる工程を理解している:

Visual Studioは、単一の中にこれらをロールアップ「公開"および"アップグレード "操作それは簡単で便利です。しかし、これらは実際にはService Fabric管理API(PowerShell、C#またはHTTP経由)の個々のコマンドです。

: これはちょうどあなたのコンパイルされたアプリケーションパッケージを取り出し、それをクラスタにコピーするだけです。大きな問題ではない。

登録: これはあなたの場合の重要なステップです。基本的に、Registerは、アプリケーションのインスタンスを作成できるようにクラスタに指示します。最も重要なのは、同じアプリケーションの複数のバージョンを登録できることです。この時点で、アプリケーションはまだ実行されていません。

: これは、登録されたアプリケーションのインスタンスが作成され実行される場所です。

アップグレードする前に、クラスタの内容を見てみましょう。

FooType 1.0.0

今すぐアップグレードする準備が整いました:あなたは(FooTypeそれを呼び出す)、アプリケーションのバージョン1.0.0でこの展開プロセスを経る初めて、あなたは一種類、登録したばかりということがあります。最初に新しいアプリケーションパッケージ(2.0.0)をクラスタにコピーします。次に、アプリケーションの新しいバージョンを登録します。あなたはアップグレードコマンドを実行すると、その後

FooType 1.0.0

FooType 2.0.0

サービスファブリックは、2.0.0にそれを1.0.0のインスタンスを取得してアップグレード:今、あなたは登録されているタイプの2つのバージョンを持っています。アップグレードが完了した後にロールバックする必要がある場合は、同じアップグレードコマンドを使用して、アプリケーションインスタンスを2.0.0から1.0.0に「アップグレード」します。 1.0.0がまだクラスタに登録されているため、これを行うことができます。バージョン番号は実際には異なる文字列であること以外はService Fabricにとって意味がないことに注意してください。もし私が望むなら、私は "オレンジ"と "バナナ"を私のバージョン文字列として使うことができます。

ここで重要な点は、アプリケーションをアップグレードするためにVisual Studioから「公開」するときは、コピー、登録、およびアップグレードのすべての手順を実行していることです。あなたが実際にクラスタに登録されているため、1.0.0を再登録する必要はありません。 アップグレードコマンドをもう一度発行したいだけです。 Blue/Green Deployments with Azure ServiceFabric

+0

バージョンが登録されている限り、Service Fabricはアプリケーションパッケージの「コピー」を保持しますか? – Dismissile

0

アップグレード手順は同じですが、代わりに1.0.0バージョンをターゲットにしてください。 「ロールバック」はあなたの古いバージョンへの「アップグレード」です。

+0

は、アプリケーションをアップグレードしようとしました「で失敗しても、アプリケーションのバージョンが変更されていません:。でも長い説明、参照してください

アップグレードする前に、アプリケーションマニフェストのバージョンを必ず更新してください。私はそれを1.0.0に更新しました。実際に私はversionタグでgit checkoutをやった。 – Dismissile

+0

ローカルのアプリケーションマニフェストのApplicationTypeVersion値が、クラスタ内に存在するアプリケーションのApplicationTypeVersionと一致すると、エラーが表示されます。ローカルプロジェクトとクラスタの間のバージョンとアプリケーション名の両方を確認します。 Service Fabric Explorerを使用すると、クラスタに定義されているものを確認することができます。 –

+0

私は '私はフォローしているのか分からない。エクスプローラにバージョン1.0.0と1.0.1を表示するアプリケーションタイプWebreferenceApplicationTypeがあります。実行中のアプリケーションはバージョン1.0.1です。もう一度1.0.0を公開するのはどういうことですか? 1.0.0(ロールバックや以前のバージョンへのアップグレードなど)を試しても公開が失敗する – Dismissile

関連する問題