LoginSignup
7
3

More than 3 years have passed since last update.

.NET Core 3.1 & EFCore 3.0 で Azure PipelineでCIを構築する

Last updated at Posted at 2019-12-17

この記事は
C# Advent Calendar 2019 の12/17
の記事です

2019/12
.NET Core 3.1 LTSが公開になりました。
これにより、.NET Core 3.1は3年間のサポート対象になります

今月自分の関わるプロジェクトを
.NET Core 2.2 ⇒3.1
EfCore 2.0 ⇒ 3.0 に変更を行いました。

しかしCIで使っている Azure PipeLineが、.NET Core 3.1 規定値で対応していなかった為、
.NET Core 3.1で動くように変更しました。
そのメモを残します。

(2019/12/9現在)Azure PipeLineでは .NET Core 3.0 のCLIが適用されています

.NET Core 3.1 アプリ デフォルト設定ではCIできません。
EFCore 3.0 から デフォルトでEFCore CLI がインストールされていないため

Migration を実行するために CLIを別途インストールする手順を加える必要があります。


簡単に言えば 以下の作業を追加するだけで恐らくCIできるようになると思います。

Agent jobをプラスして

image.png

.Use NET Core を使って
image.png

バージョンで 3.1.x を指定して(一応Include Preview Versionsをつけて)
image.png

これで、設定完了です。


EF Core を使って DB Migrationをするには Command Lineを使うのが簡単です。

Command LineをAdd して

image.png


EFCore 3.0 の場合は 
dotnet tool install --global dotnet-ef
を使って ツールをインストールしたのち、Migration Scriptを実行します。

image.png


.NET Core 2.xの場合は、最初の.Use NET Core で
efCore CLIツールがもとから入ってるので

DB Migrationに
dotnet tool install --global dotnet-ef
コマンドは不要です。

↓流れとしてはこんな感じになります

image.png

7
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
3