💻

AppVeyor で PowerShell Core モジュールをデプロイする

2022/01/01に公開

はじめに

AppVeyor で .NET Core のビルドができると聞いたので、PowerShell Core モジュールのビルドもできるんじゃね?ということで試してみました。

実行方法

Environment

公式のドキュメントによれば Visual Studio 2015 または Visual Studio 2017 であれば .NET Core SDK 2.0 がサポートされます。特に Visual Studio 2015 を選択する積極的な理由はないので Visual Studio 2017 を選択します。

https://www.appveyor.com/docs/build-environment

Build

MSBUILD は使えないので SCRIPT - CMD を選択して dotnet コマンドを実行します。通常の .NET Core アプリケーションとは違い、PowerShell Core の場合、NuGet パッケージ ソースに MyGet を指定する必要があるので、追加で指定します。

dotnet restore --source https://api.nuget.org/v3/index.json --source https://powershell.myget.org/F/powershell-core/api/v3/index.json
dotnet build --configuration Release

Deployment

PowerShell Gallery への発行を自動化します。Publish-Module を実行するだけですが、必ず SCRIPT - PS CORE を選択する必要があります。SCRIPT - PS (Windows PowerShell) だと Publish-Module の前提条件チェックでエラーになります。

Publish-Module -Name {{path}} -NuGetApiKey {{api-key}}

Discussion