2016-06-30 22 views
3

Azureに展開したい既存のWebサイトがあります。Visual Studio Team Servicesを使用してください。このウェブサイトは静的なファイルで構成されており、ASP.NETやその他のものは含まれていません。Visual Studio Team Servicesから静的WebサイトをAzureに展開する方法

Visual Studio Team Services内で、npm installgulpビルドを実行するビルドを作成しました。これにより、Webサイトのすべてのファイルを含むdistフォルダが生成されます。 Azureでは、すべてが正しく設定されています(サブスクリプション、Webアプリケーション、...)。

しかし、コードをAzureにプッシュする方法は不明です。 VSTSの[リリース]タブのオプションを調べると、常に「アーティファクト」が必要なように見えますが、たくさんのファイルがあります。 distフォルダにファイルを公開し、index.htmlが配信されていることを確認する必要があります。

どうすればいいですか?

この質問は、thisに関連していますが、回答はすべてAzureから開始するようにしてあり、Visual Studio Team Servicesを使用して既存のコードを展開する方法については言及していません。

答えて

4

あなたはアーティファクトを自分で作成します。それは、ジップファイルに静的なウェブサイトファイルが含まれているような簡単なものです。 zipファイルは、アーティファクトとして$(build.artifactstagingdirectory)ターゲットディレクトリにコピーする必要があります。次に、単純なWeb Appデプロイメントタスクを使用して、zipファイルをAzureに公開することができます。 index.htmlがルートディレクトリにある場合、Azureは十分にスマートに機能します。

以下は、動作中のビルドとデプロイメントフローです。これは、ウェブサイトを構築し、ビルド出力(すなわち、静的ファイル)をdistフォルダに書き込むためにgulpが使用されることを前提としています。アーティファクトを作成する必要がなければ

enter image description here

1

最も簡単な方法は、ソースコントロールから展開することです。AzureポータルのWebサイトの「設定」を参照すると、おそらく"Continuous deployment"が表示されます。あなたは、Visual Studio Team Servicesを、GitHubのから展開することができます。そこから

など

すべてのチェックインも、間違ったものに展開されます、あなたにもdeployment slotとしてステージング環境を導入したい場合がありますので、サイトの運用準備ができていると感じたら、いつでもプロダクションとステージングを入れ替えることができます。

+0

まあ可能性があり、 AzureからCDをセットするのではなく、VSTSでリリースをコントロールしたいと思います。私は確かにテスト、ステージング、およびプロダクション環境を持っています。そして、ある展開スロットから次の展開スロットへのリリースを「促進」したいと思います。 – fikkatra

+0

Visual Studio Onlineからすべてを実行する場合は、リリース管理(https://www.visualstudio.com/en-us/features/release-management-vs.aspx)を参照する必要があります。 – Lostfields

+0

VSOのみを使用する場合はソース管理と作業の作業については、https://www.appveyorをご覧ください。あなたのビルドとデプロイメントを自動化します – Lostfields

1

、別の解決策は確かにオプションですVSTS

でサービスのエンドポイントを作成した後FTP展開

enter image description here

enter image description here

関連する問題