2016-07-18 22 views
1

Azureウェブの役割に展開されている私たちのウェブサイトでは、JavaScriptやHTMLの小さなバグに関連する問題があります。私たちはウェブロールのすべてのインスタンスに行き、これらのJSとHTMLファイルをマシンに修正します。紺碧のウェブローラーにパッチを当てる

しかし、私はこれを行ういくつかの中央の場所からパッチを適用するファイルをダウンロードし、すべての紺碧のWebの役割のファイルを置き換えるいくつかの自動化された方法を探していた。私はASP .net MVCをウェブサイトに使用しています。

パッケージに含まれているパッチを使用してWebサイトを再展開することはできますが、展開時間が長くかかるのを待つ必要はありません。すべての紺碧のWebロールのコンテンツを置き換える内部WEB APIを介して可能であるかどうかお知らせください。

+2

クラウドサービスWebロールの代わりにWebアプリケーションを使用することを検討しましたか?デプロイメントがより簡単かつ迅速になります(パブリック・リポジトリーから直接デプロイするか、変更されたファイルのみをアップロードするためにWebデプロイメントを使用します)。 – gbellmann

+0

Web APPへのポインタをありがとう。私はそこに入ることができるかどうかを見極めようとします。現在私たちはWebサービスと一緒に働いている人の役割はほとんどありません。 WEB Appにもワーカーロールを展開することは可能でしょうか?もう1つのことは、WEB APPへの移行に多くの時間がかかるため、このWebサイトでこのパッチを適用することは可能ですか? –

+0

クラウドサービスでは、必要な方法でパッチを適用することはできません。移行に関して、2つの選択肢があります。1)WebロールをWeb Appsに移行し、クラウドサービスに従業員の役割を維持することができます。 2)ワーカーロールをWebジョブ(同じWebアプリ内または別のWebアプリ内で、独立にスケールするかどうかによって異なる)に移行することもできます。 – gbellmann

答えて

0

多くのことをstackoverflowで掘り下げた後、私はトピックを作成し、ウェブサイトの開始時にトピックのコードを購読する独自のソリューションを作りました。私がWebアプリケーションにパッチを当てたいときは、Topicにメッセージを送信してパッチを適用すると、Webロール内の各マシンはトピックから通知を受け取り、自身にパッチを適用します。パッチ自体は非常に簡単です。ウェブストレージにアクセスしてファイルをダウンロードし、そこからファイルを置き換えます。 晴れの保守が行われたとき、このパッチは消えてしまうかもしれません。このため、私はウェブサイトの起動時にパッチ作業を開始しました。

-2

クラウドサービスデプロイメントパッケージは、基本的に、デプロイメントのビルドと構成の方法に関するレシピであるため、時間がかかる傾向があります。デプロイメントはAzureでレシピを出し出すだけでなく(マシンを移動する必要がある場合には再度使用できます)、クラウドサービスのVMを構築するためのレシピに従います(WebRoles/WorkerRolesはサービスとしてのプラットフォームですVirtual Machine Azure製品を使用していても物理ハードウェア上のVMで実行されている場合のように、OSとインフラストラクチャレベルを心配する必要はありません。

あなたが探しているのは、レシピ(クラウドサービスパッケージ)とデプロイメントがすでに終了して実行された後に更新するものです。クラウドサービスで簡単に行うことはできません。

しかし、はい、ブロブストレージや他の集中管理された場所からサイトファイルをプルできるスタートアップスクリプトを作成することができます。これは、アプリケーション(フィドラーなど)が更新を検索してから、 。そのような機能のためには、上級ユーザーとしてコードを実行する必要があるでしょう - 起動スクリプトに関する素晴らしい点は、上級ユーザーとして実行できることです。マシン上で必要なことはすべて実行できますインスタンスを再起動して実行してください)。基本的には、あなたのサイトがそれ自身を更新できるようにするコードを書く必要があります。 https://azure.microsoft.com/en-us/documentation/articles/cloud-services-startup-tasks/

WebAppsとWebJobに移行する能力がある場合は、そのコンピューティング製品が問題を本当にうまく解決するので、それを調べることをおすすめします。ここ は、Webアプリケーションとクラウドサービス間の違いの便利な答えです:What is the difference between an Azure Web Site and an Azure Web Role

+2

誰かにあるサービスから別のサービスに移動するよう伝えることは、答えではありません。(実際には、Webアプリケーションへの移行が不可能なこともあります。また、クラウドサービスのデプロイメントは、* vm作成パッケージではありません。それらは、事前に構築されたベースラインVMイメージ上に展開され、構成されるデプロイメントを含みます。 –

1

新しいwebrole展開する2通りの方法があります。

  • 再デプロイ
  • インプレース更新

最初は、 1つは最も遅く、新しいVMが起動されることを意味します。

インプレースアップグレード(https://azure.microsoft.com/en-us/documentation/articles/cloud-services-update-azure-service/) 新しいアプリケーションパッケージが新しいドライブ(通常はE:ではなくF:)にマウントされ、IIS Webサイトが新しいドライブにスワップされます。

古いポータルにアクセスして新しいアプリケーションパッケージをアップロードすると、これを試すことができます。わずか数秒/分で更新が完了します。

+0

アプリケーションパッケージをどこにアップロードするかをもっと教えてください。私はcspkgをアップロードしようとしましたが、毎回30分以上の長い時間がかかります。私は私のサービスに行き、古いポータルの「更新」ボタンを押してパッケージと設定をアップロードします。 –

+0

クラウドサービスには何が含まれていますか?設定の一部を共有します。スタートアップタスクを使用してコンポーネントをインストールしますか?あなたは(ほぼ)空のウェブサイトでもこれを試しましたか?以前はかなり高速でした。 –

+0

内部製品であるため、設定を共有できません。私たちはスタートアップタスクを使って多くのものをインストールしていますが、ワーカーの役割にもキャッシュを使用していますが、これはデプロイメントを更新するのに多くの時間がかかります。 –

関連する問題