本記事では、Azure DevOpsでリリースの前に作成する必要のある、pipelineの作成方法を記載いたします。
- この記事でわかること
- 「New pipeline」での作成(ビルド定義)方法例
- YAMLではなく、自身でカスタマイズしての作成方法例
- 前提条件
- C#プロジェクトをApp Serviceへ配置することを目的とする
概要
Azure DevOpsではApp Serviceへの自動リリースが可能ですが、その準備の一つにpipelineの作成があります。
これは、ビルドの実施やユニットテストの実施後に、ソースコードをDevOpsのディレクトリに配置する作業です。
YAMLで簡単に作成する事も出来るのですが、今回は、ソースコードにYAMLファイルを使いたくないなどの事情によりカスタマイズして作成する実際の手順を見ていきます。
※ YAMLで作成する方法は「Azure DevOps pipelineの作成方法」記事を確認してください。
ソースコードビルド定義作成
Azure DevOpsへアクセスし、「Pipelines」から右上の「New pipeline」を押下します。
New pipelineの画面が表示されたら、一番下の「Use the classic editor」のリンクを押下します。
クラシックモードに切り替わったら、自身の利用しているGitを指定します。
ここでは「Azure Repos Git」を指定し、DevOpsに保存されているProject、Repository、brachを指定して「Continue」を押下します。
続いて、テンプレートの選択画面になります。
ここでは、自身が利用するフレームワークやAzureサービスに応じてテンプレートを指定することができます。テンプレートなしで作成したい場合は上部のリンクの「Empty job」を指定しまが、今回はAzure App Serviceへリリースする想定で、かつASP.NETを利用しているため、「Azure Web App for ASP.NET」を指定します。
「Azure Web App for ASP.NET」のテンプレートが表示されました。
「Azure Web App for ASP.NET」のテンプレートで設定できる項目は以下の通りです。
- User NuGet 4.4.1
- 利用するNuGetのversionを指定しています
- defaultのversionはその時点での最新となります
- NuGet restore
- 表記の通りNuGetのrestoreを実行します
- Build solution **\*.sln
- ビルドを実行します。
- Archive Files
- 指定したファイルやディレクトリをアーカイブ(圧縮)します
- VsTest - testAssemblies
- 作成済みのテストがあれば実行します
- Azure Web App Deploy:
- この時点でApp Serviceへデプロイをします
- Publish symbols path
- デバッグシンボル(通常は .pdb ファイル)をシンボルサーバーに公開します
- Publish Artifact: drop
- Azure DevOpsのPipelineで生成されたビルド成果物(アーティファクト)を保存および共有することができるようにします
- このタスクでビルドしたものを指定できるようになります
今回は現時点ではビルドしたものを保存することを目的とすることや、圧縮はしない事、テストコードもないことから、テスト、アーカイブ、デプロイ部分を削除します。
これで、指定したソースコードをビルドしDevOps上に共有できる形で保存することができます。
作成が完了したら「Save」を押下して保存してください。
※デプロイを削除しない場合、「Save&queue」を実施するとデプロイされてしまいますので気を付けていただければと思います。
以上で、pipelineビルド定義の作成が完了しました。
所感
YAMLの時と比較すると必要な知識が増えているかと思いますが、より必要なタスクを選別して設定することができます。
また、ソースコード側にYAMLファイルが作成されることもありませんので、ソースコードへの修正が厳密に管理されている場合は、こちらの方で作成するのが良いかと思います。
App Serviceへのデプロイタスクは、このようにビルド後に保存されたものを、後続で指定して行うことを想定しています。