以前に Azure と GitHub で継続的インテグレーションや
Azure と Visual Studio Online (Git) で継続的インテグレーションなどの記事を書きましたが、
情報が古くなっているため、現在の環境で改めて検証しました。
現在の Azure Web App でバージョン管理システムからの継続的デプロイ (Continuous Deployment, CD) を構成する方法としては、
- [デプロイ オプション] を設定する
- [継続的配信] を設定する (ただしプレビュー)
の 2 種類があり、いずれかを選択することになります。
いずれの方法でも、バージョン管理システムとして Visual Studio Team Services (VSTS) も GitHub もサポートしています。
この 2 つの主な違いは、
- [デプロイ オプション] では、リポジトリ内に含められる Web アプリケーションは 1 つ。
- [継続的配信] では、対象の .sln を指定できるため、リポジトリ内に Web アプリケーションが複数存在してもよい。
その他にも、細かい設定ができる。
です。
[デプロイ オプション] を設定する方法については前回の Azure と GitHub で継続的デプロイ (2017) で書きました。
今回は Visual Studio Team Services (VSTS) の Git リポジトリに対して [継続的配信] を設定してみます。
まず VSTS の Git リポジトリに Web アプリケーションを commit/push します。
今回は例として、ASP.NET MVC Web アプリケーションとします。
リポジトリに bin フォルダーなどを含める必要はありません。
次に、Azure で Web App を作成します。
作成が完了したら、その Web App の [継続的配信] を構成していきます。
ソースとして VSTS を選択し、アカウント、リポジトリ、ブランチを選択します。
基本的な設定はこれだけです。設定完了と同時に、ビルドとデプロイが開始されます。
以降も、ソースコードを変更してリポジトリに commit/push するだけで、自動的にビルドとデプロイが実行されます。
開発時には、開発用のブランチおよび Web App を利用するとよいでしょう。
VSTS のリポジトリの [Services] で、Azure Web App と連携していることを確認できます。
VSTS の Web 画面で、ビルド定義の表示・編集ができます。詳細の設定はここでできます。
なお、Visual Studio 上での表示・編集はできなくなっているようです。
主に使われる設定としては以下が挙げられるでしょう。
- ビルド定義の名前の変更
- .sln ファイルのパスの指定
- ブランチの変更
- 継続的デプロイか、手動デプロイか (Enable continuous integration)
- ビルド番号の形式
ビルドで生成された実行ファイルは [Artifacts] で取得できます。
[Release] から、過去のバージョンを選択して再デプロイすることもできます。
注意点:
- VSTS 以外の Git (GitHub など) でも同様の手順で構成できますが、
ビルド定義を VSTS のリポジトリに保存するため、VSTS のアカウントが必要です。 - 管理者権限を与えられた別の Azure アカウントだと、エラーが発生して [継続的配信] を設定できませんでした。
前回:Azure と GitHub で継続的デプロイ (2017)
参照
Build and deploy to an Azure Web App
Azure と GitHub で継続的インテグレーション (旧版)
Azure と Visual Studio Online (Git) で継続的インテグレーション (旧版)