こんにちは。
コンサルティング & テクノロジー部 Azure チームの茨木です。
今回は Microsoft Azure App Service の環境を利用して、ビルド&デプロイを済ませてしまう方法をご紹介いたします。外部サービスも、ビルド環境の構築も必要ありません。
Introduction
Visual Studio で1人開発している限りは、ビルドもデプロイも基本的に数クリック以内で終わります。でも、通常はチーム開発。ビルドサーバーの出番となるわけですが、自作ビルドサーバーの環境構築は非常に骨が折れる作業です。Visual Studio のインストーラーは優秀なもので、ビルドサーバーに同じ能力を構成しようとして大変な目に遭うことになります(なりました...)。
App Service はこういった環境が構築済みで提供されているので、自力でソースをビルド&デプロイできてしまいます。環境も日々更新されていきますので、メンテナンスもおまかせです。
※Visual Studio Team Services のようなサービスを使える場合は、もちろんそちらでやるべきです。
Azure App Service におまかせデプロイする方法
App Service は個々にローカル Git リポジトリを持つことができます。
設定は Azure Portal から行います。
ここで作成したGitリポジトリにソースコード一式を git push するだけで、あとは自動でビルドとデプロイが完了します。
以上、こんなにカンタンです。
※WebApps、WebJobs がこの方法で可能です。Functions は現時点ではまだ成功していません。
ビルドログの参照
git push の出力が、そのままビルドログになっています。
履歴の参照と再デプロイ
Azure Portal から履歴を参照できます。
この履歴を利用して、切り戻し再デプロイを実行することができます。
動作設定
Azure Portal のアプリケーション設定を利用して、動作をコントロールすることができます。
- DEPLOYMENT_BRANCH
ここにブランチ名を指定すると、任意のブランチに反応させることができます。
- PROJECT
ソースコードに複数のプロジェクトが含まれている場合、どのプロジェクトをデプロイ対象とするのかを指定できます。
- COMMAND
任意のデプロイコマンドをソースと共に管理しておけば、更に細かに自由なビルドプロセスを構成できます。
ここまで行くと、コマンドを利用して自動テストを組み込む事までも可能になります。
応用編...
このように、構成さえ出来てしまえば目的のソースコードを git push するだけです。
例えば、Webhook Trigger な Azure Functions を作って、任意のリポジトリからソースコードを横流しする...
など、アイディア次第でいろいろと自動化フローを組み立てられるのではないでしょうか。
※Azure Function は、あらかじめホスティング基盤に環境構成ができているため git コマンド(プロセス)を起動できます。