こんにちは。クラウド推進部の松永です。
今回はAzure DevOpsのBuild Pipelineをつかって、AzureのWebAppsへのリリースまでの流れを解説していきたいと思います。
Azure DevOpsを知っていますか?
Azure DevOpsはMicrosoftが提供している開発支援サービスです。
https://azure.microsoft.com/ja-jp/services/devops/
PJ管理、ソース管理、ビルド・リリース管理、テスト計画、パッケージ管理と大きく5つの機能に分かれています。
これらの機能は単独で使うこともできますが、お互いに連携することで、開発がスムーズに行えるようになります。
なお、弊社ではAzure DevOpsを積極的に使っています。今話題のHoloLensのプロジェクトでも例外ではありません。
HoloLensプロジェクトでのBuild Pipelineを使用したビルド方法について、以下の記事も書いているので、
HoloLensの開発にAzure DevOpsを組み込みたいという方はこちらを参考にしてみてください。
Azure DevOpsでHoloLensアプリをビルドする(MS-hosted編)
https://withmr.nextscape.net/2019/06/azure-devops-build-hololens-mshosted/
Build Pipelineは”育てる”ツール
タイトルを見て、これをきっかけに初めてAzure DevOpsをやってみよう!と思って記事を読んでいる方がいらっしゃったら、
大変うれしいです。
ただ、そんな方に向けて、最初にアドバイスをしておくことがあります。
1回だけのリリースであれば、手動でリリースをしたほうが早いです。
Azure DevOpsのBuild Pipelinesの機能は、最初の準備にどうしても時間がかかってしまいます。
もしかしたら、準備にかける時間で、手動だったら数回はリリースができるかもしれません。
”手動でリリースすれば早いのに、なんでこんなに面倒なことをしなくてはいけないのか?俺たちは何をしているんだ?”
と設定をしながら疑問を覚える人もいると思います。
でも、大丈夫。
その準備にかけた時間的コストは、後から、きっと返ってきます。
Build Pipelineを使い込んでいくと、1日に数十回のリリースが可能になります。
手動で数十回リリースをしろなんて言われた日には思わず天を仰いでしまいますが、
Build Pipelineがあれば、何も考えずにただパイプライン処理を走らせればOKです。
さらにトリガーを設定すれば、指定時間になったら、ソースがコミットされたら、と任意のタイミングで
自動的にリリース処理が走るようになります。
わざわざ手をかける必要もなくなるのです。
ですから、私はAzure DevOpsのBuild Pipelineを、使い始めた時から恩恵を受けられるツールではなく、
PJに合わせてカスタマイズしながら使っていくことで、後から大きな恩恵を受けられるツールと考えています。
”桃栗三年柿八年”と言われ、実りを得るまでに時間がかかる果樹のように、
少しずつ”育てる”ツールではないかと。
初めてAzure DevOpsのBuild Pipelineに触る人はそういうツールだと思って、使ってみると良いかもしれません。
事前の準備
今回解説する環境では、事前に以下の準備をしています。
・Azure DevOpsのアカウントを取得し、プロジェクトを作成している。
・ソースはVisualStudio2019からASP.Net Core MVCを選択して新規作成
・ソースはAzure DevOpsのRepos Gitにコミットしている。
・Azure上にWebApps(Windows)を構築している。
Build Pipelineを構築しよう
ようやく本題の解説にたどり着きました。
本記事ではビルドの設定について解説し、次回にビルドされたパッケージのリリースについて解説していきます。
では、はじめていきましょう。
まず、Azure DevOpsにサインインをして、左メニューからPipelines > Buildsを選択し、NewPipelineをクリックします。
次にどのソースコードを使うか、選択肢がでてきます。
ソースはAzure Repos Gitに格納していますので、今回はAzure Repos Gitを選択しています。
Gitリポジトリを選択して、
次にPipelineの設定テンプレートを選択します。
ここでは、ソースに合わせて選択をしますので、
今回の場合は、ASP.NET Core(.NET Framework)を選択します。
なお、上の画面ではWindows系の設定テンプレートしか出ていませんが、
展開すると以下のように、AndroidやXcode、JS等、様々なテンプレートが用意されています。
テンプレートを選択すると、YAMLのコード画面がでてきます。
この画面で表示されているazure-pipelines.yamlがビルドの設定ファイルになります。
まずはそのままSave and runボタンを押しましょう。
すると、右ペインにコミットメッセージの入力画面がでてきます。
急にコミットメッセージの入力欄が出てくるので戸惑う人もいるかもしれません。
これは何をしようとしているのかというと、Azure DevOpsが対象のリポジトリにazure-pipelines.yamlのファイルを
追加をしようとしているのです。
Buildは設定を行うと、ビルド設定が記載されたyamlファイルをリソースのプロジェクトに追加するようになっています。
設定の変更があれば、yamlファイルが更新され、それがリポジトリにまたコミットされます。
このように、ビルド設定をソース管理しているのです。
ビルド設定がソース管理できれば、設定を間違えてもファイルを修正前に戻すだけでよいですし、
別のプロジェクトのビルド設定をインポートすることも可能ですので、シンプルで管理がしやすくなります。
下のラジオボタンでは、このazure-pipelines.yamlの追加について、
直接masterにコミットするか、新しいブランチにコミット後にプルリクを出すか、どちらかを選択できるようになっています。
今回はmasterに直接コミットするように選択して、Save and runを押します。
するとビルド処理が走ります。
ビルド処理の経過については、Log画面をを見ることで詳細の確認ができます。
現在の進行状況や、中のログを確認できるようになっています。
ビルドの成功
最後まで、処理が走れば、Azure DevOpsのBuild Pipelineを使った初めてのビルドが成功です。
うまくいきましたか?
次回はリリースの設定をしていきます。