前にこんなの書いてたんですが、Pipelines に代わってから使うの初ということで試してました。
VSTS の ビルドで SQL Server LocalDB を使ってテストしたい - お だ のスペース
んで、今の最新の Windows Agent でバージョン調べてみると…
Microsoft SQL Server 2016 (SP1) (KB3182545) - 13.0.4001.0 (X64)
— oda shinsuke (@shinsukeoda) 2020年11月10日
Oct 28 2016 18:17:30
Copyright (c) Microsoft Corporation
Express Edition (64-bit) on Windows Server 2019 Datacenter 6.3 <X64> (Build 17763: ) (Hypervisor)
変わらず 2016SP1 相当。。
前は 2016 でも良かったんですが、今回は 2019 が必要なのでちょい調べてみました。
ここから、Microsoft-hosted agents for Azure Pipelines - Azure Pipelines | Microsoft Docs、こっちに飛んで
virtual-environments/Windows2019-Readme.md at main · actions/virtual-environments · GitHub
中身見ると SQL Server インストールされてないみたいです。
Visual Studio 2019 Ent 付属の Local DB なんですかね。
若干諦めてたら、教えてもらいましたー。
あれからもうちょっと調べてみたら、一度入っていたけど、消されたっぽいですね。https://t.co/cnbh33rqyEhttps://t.co/P6fMdV3q8i
— kkamegawa (@kkamegawa) 2020年11月10日
Restore SQL Server Express 2019 · Issue #1282 · actions/virtual-environments · GitHub より引用
- task: PowerShell@2 displayName: Install SQL 2019 Localdb inputs: targetType: 'inline' script: | Write-Host "Downloading" Import-Module BitsTransfer Start-BitsTransfer -Source https://download.microsoft.com/download/7/c/1/7c14e92e-bdcb-4f89-b7cf-93543e7112d1/SqlLocalDB.msi -Destination SqlLocalDB.msi Write-Host "Installing" Start-Process -FilePath "SqlLocalDB.msi" -Wait -ArgumentList "/qn", "/norestart", "/l*v SqlLocalDBInstall.log", "IACCEPTSQLLOCALDBLICENSETERMS=YES"; Write-Host "Checking" sqlcmd -l 60 -S "(localdb)\MSSQLLocalDB" -Q "SELECT @@VERSION;"
これで 無事 Local DB のバージョンが 2019 になりました。
ダウンロード先が変わらない限りはこれで何とかなりそうですね。
追記 2020/11/13
MS Downloadの先はたぶん変わらないでしょうけど、自分でAzure blobあたりに置いちゃうことでしょうかね。バージョンごとにフォルダー作っておけば切り替えて複数バージョンテストできるし。
— kkamegawa (@kkamegawa) 2020年11月12日
もうちょっとしたらservice tag来るはずなので、Pipelinesからのみblobアクセスとかもできるはず…