サービスファブリックアプリケーションの下にサービスがいくつかあります。彼らは現在バージョン1.0.0にすべて座っています。アプリケーション/サービスの手動ロールバック
バージョン2.0.0のクラスタに更新を展開します。すべてが正常に実行され、展開は成功します。私は非常に大きいことに気づいているが、バージョンでは。バージョン1.0.0に手動でロールバックする方法はありますか?私が見つけた唯一の事は、アップグレード中の自動ロールバックです。
サービスファブリックアプリケーションの下にサービスがいくつかあります。彼らは現在バージョン1.0.0にすべて座っています。アプリケーション/サービスの手動ロールバック
バージョン2.0.0のクラスタに更新を展開します。すべてが正常に実行され、展開は成功します。私は非常に大きいことに気づいているが、バージョンでは。バージョン1.0.0に手動でロールバックする方法はありますか?私が見つけた唯一の事は、アップグレード中の自動ロールバックです。
マットの答えは正しいが、ここで少し詳しく説明する。
キーは、アプリケーションの展開時に異なる工程を理解している:
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
アップグレード手順は同じですが、代わりに1.0.0バージョンをターゲットにしてください。 「ロールバック」はあなたの古いバージョンへの「アップグレード」です。
は、アプリケーションをアップグレードしようとしました「で失敗しても、アプリケーションのバージョンが変更されていません:。でも長い説明、参照してください
アップグレードする前に、アプリケーションマニフェストのバージョンを必ず更新してください。私はそれを1.0.0に更新しました。実際に私はversionタグでgit checkoutをやった。 – Dismissile
ローカルのアプリケーションマニフェストのApplicationTypeVersion値が、クラスタ内に存在するアプリケーションのApplicationTypeVersionと一致すると、エラーが表示されます。ローカルプロジェクトとクラスタの間のバージョンとアプリケーション名の両方を確認します。 Service Fabric Explorerを使用すると、クラスタに定義されているものを確認することができます。 –
私は '私はフォローしているのか分からない。エクスプローラにバージョン1.0.0と1.0.1を表示するアプリケーションタイプWebreferenceApplicationTypeがあります。実行中のアプリケーションはバージョン1.0.1です。もう一度1.0.0を公開するのはどういうことですか? 1.0.0(ロールバックや以前のバージョンへのアップグレードなど)を試しても公開が失敗する – Dismissile
バージョンが登録されている限り、Service Fabricはアプリケーションパッケージの「コピー」を保持しますか? – Dismissile