Help us understand the problem. What is going on with this article?

Azure App Service へASP.NET Web アプリをコマンドプロンプトからデプロイする

More than 3 years have passed since last update.

はじめに

Azure App ServiceをVisualStudioを起動せずに、コマンドプロンプトからデプロイしたい。

準備

下記のサイトを参考にAzure App Serviceを作成します。
   Visual Studio を使用した Azure App Service への ASP.NET Web アプリのデプロイ

デプロイに必要な情報を手に入れる

VisualStudioから一度デプロイを実行すると、デプロイに必要な情報が入ったファイルが作成されます。
 C:\MyExample\MyExample\Properties\PublishProfiles\[AppServiceのリソース名].pubxml

Azureポータルからデプロイのためのプロファイルを手に入れる

次に、Azureポータルを開き、準備で作成したApp Serviceのプロファイルをダウンロードします。

リソースグループ > [準備で作成したリソースグループ] > [AppServiceのリソース名] > 概要

下記の発行プロファイルの取得をクリック
発行プロファイルを取得.png

ダウンロードしてきた[AppServiceのリソース名].PublishSettingsの中にある<userPWD>タグの内容をコピーしておきます。

コマンドプロンプトからデプロイする

いよいよ、コマンドプロンプトからデプロイを実行します。デプロイにはMSBuildを使用します。
VisualStudio2015ではMSBuildは下記にあると思います。
 C:\Program Files (x86)\MSBuild\14.0\Bin
VisualStudioのバージョンによってMSBuildのパスが異なるため注意が必要です。1
  
コマンドプロンプトを開き、下記のコマンドを実行することでデプロイできます。
MSBuild C:\MyExample\MyExample.sln /p:DeployOnBuild=true /p:PublishProfile="[AppServiceのリソース名]" /p:Password=[発行プロファイルから取得したパスワード]

準備で公開したサイトへ再度アクセスし、変更を確認します。
今回は、タイトルを"ASP.NET"から"Deploy Succeed"に変更しました。

デプロイ成功.png

その他

pubxmlファイルについて

初回の作成をVisualStudioに任せてしまったので、pubxmlのファイル名が[AppServiceのリソース名]と同じです。しかし、内容さえ間違っていなければファイル名はなんでも良いようです。
また、一度pubxmlファイルを作成してしまえば他のWebアプリの発行する際にも使いまわせます。開発用とリリース用などで使い分けると便利だと思います。

パスワードについて

今回パスワードはコマンドを実行する際に入力していますが、先ほどのpubxmlに含めることができます。
含める場合はpubxmlファイルの<PropertyGroup>タグ内に<Password>タグを追加し[発行プロファイルから取得したパスワード]を入力します。

デプロイするユーザについて

デプロイに使用するユーザとパスワードはpubxmlファイルを作成した際に自動で作られているようですが、Azureポータルから追加し使用することもできます。
デプロイ資格情報.png

追加した場合は、pubxmlの<UserName>タグと<Password>タグに情報を記述するか、2つのタグを削除しコマンド上で下記を追加するかです。
/p:UserName=[追加したユーザ名] /p:Password=[追加したパスワード]

おわりに

調べ方が悪く、なかなか方法がわかりませんでした。
自分の備忘録的にまとめましたが、同様のことをやろうとしている方の参考なれば幸いです。

参考URL

下記のURLがとても参考になりました。ありがとうございます。
ASP.NET Web Deployment using Visual Studio: Command Line Deployment
Azure App Service へのアプリのデプロイ

hopita
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした