JetBrains Space ヘルプ

.NET と .NET Core

前提条件

  • マルチプラットフォーム .NET または .NET Core プロジェクトがあります。

  • アーティファクトを Space パッケージに公開する場合は、プロジェクトに NuGet フィードがあることを確認してください。

対象イメージ

.NET Core デスクトッププロジェクトでビルド、テストを実行、公開する

現在、Space Automation は .NET プロジェクトを操作するための特別な API を提供していません。つまり、シェルスクリプト内で dotnet ドライバーを直接使用して .NET Core ビルドを実行する必要があります。

.space.kts の内容は次のようになります。

job(".NET Core desktop. Build, test, publish"){ container(image = "mcr.microsoft.com/dotnet/core/sdk:3.1"){ env["FEED_URL"] = "https://nuget.pkg.jetbrains.space/mycompany/p/pkey/mynuget/v3/index.json" shellScript { content = """ echo Run build... dotnet build echo Run tests... dotnet test ./MainTests/ echo Publish NuGet package... chmod +x publish.sh ./publish.sh """ } } }

さらに詳しく:

  • env["FEED_URL"] : 公開する NuGet フィードを指定します。

  • dotnet build および dotnet test : ビルドとテストをそれに応じて実行します。

  • ./publish.sh : 公開スクリプトを実行します。詳細は以下を参照してください。

publish.sh スクリプトは、NuGet フィードでオートメーションを認証し、NuGet パッケージを公開します。

#!/bin/sh echo "Configure credentials" dotnet nuget add source $FEED_URL -n space -u "%JB_SPACE_CLIENT_ID%" -p "%JB_SPACE_CLIENT_SECRET%" --store-password-in-clear-text VERSION=1.0.$JB_SPACE_EXECUTION_NUMBER echo "Publish nuget package" cd dotnet dotnet pack -p:PackageVersion=$VERSION -o ./ dotnet nuget push dotnet-sample.$VERSION.nupkg -s space

さらに詳しく: