はじめに
先月(2018年7月)にAzure DevOps ProjectsがGAされました。
Azure DevOps Projects general availability
これを機会に、弊社のASP.NET Coreライブラリを突っ込んで動作確認をするために触ってみました。現時点(2018年8月)では、このAzure DevOps Projectsを作成した際にデフォルトで用意されるASP.NET Coreアプリでは.NET Core 1.1を使っています。これを.NET Core 2.1に更新して利用する手順を共有できればと思います。
アプリケーションの作成
以下を参考にAzureポータルからポチポチ設定していきます。
順番に[.NET]→[ASP.NET Core]→[Web App]を選択していって、最後に使用するVSTSとAzure Web Appsの設定をします。これで[Done]をクリックするとVSTSにASP.NET Coreアプリのリポジトリが作成されて、CI/CDパイプラインも作成されて、Azure Web Appsにデプロイされる、まで一気にできちゃいます。
なかなかスバラシイではないですか。
VSTSでソースを覗いてみる
さて、ここからが本編。VSTSでソースのリポジトリにあるaspnet-core-dotnet-core.csproj
を開いてみると、.NET Core 1.1を使っていることが確認できます。
ローカルにクローンを作成して.NET Coreのバージョンを更新する
ローカルのVisual Studioでクローンして、.NET Core 1.1から最新の.NET Core 2.1に更新します。
NuGetパッケージも更新しておきます。
さらにaspnet-core-dotnet-core.csproj
を編集します。以下をコメントアウトか削除します。
<PackageTargetFallback>$(PackageTargetFallback);portable-net45+win8+wp8+wpa81;</PackageTargetFallback>
更新が終わったらVSTSへプッシュ...したいところですが、このままVSTSでビルドを走らせるとコケてしまいます。続いてVSTSのビルド構成を編集します。
VSTSでビルド構成を更新する
ビルドがコケるのは、ソース以外にVSTSのビルド構成でも.NET Coreのバージョンに依存する部分があるためです。この部分を更新していきます。
.NET Core Tool Installer
のVersion
が1.0.4
になっているので、こちらを2.1.302
に更新します。
.NET Core SDKのバージョンはVSTSにもリンクがありますが、以下に記載されています。
https://github.com/dotnet/core/blob/master/release-notes/releases.json
ローカルからプッシュする
ようやく設定完了です。Visual Studioからプッシュが終わるとビルドが走ります。ビルド構成も.NET Core 2.1にあわせたので成功するハズです。
まとめ
現時点(2018年8月)では、.NET Core 2.1で利用するのには若干の手間はかかりますが、このAzure DevOps Projectsは非常に期待したいサービスです。今後機会があれば.NET Core 2.1 + Razor Pagesや、JavaScriptフレームワークを使ったSPA + .NET CoreなどVisual Studio 2017で用意されているテンプレートをベースにしたソースを利用するケースについても書いてみたいと思います。