This documentation explains how to use the Paketo .NET Core Buildpack to build applications for several common use-cases. For more in-depth description of the buildpack’s behavior and configuration see the Paketo .NET Core Buildpack Reference documentation.
pack
コマンドを使って、Paketo .NET Core Buildpack でサンプルアプリをビルドします。
git clone https://github.com/paketo-buildpacks/samples cd samples/dotnet-core/aspnet pack build my-app --buildpack gcr.io/paketo-buildpacks/dotnet-core \ --builder paketobuildpacks/builder:base
Copied!
アプリケーションの実行方法は README ファイル を参照してください。
注意:この例では Paketo Base ビルダーを使っていますが、Paketo .NET Core Buildpack は Paketo Full ビルダーと互換性があります
Dotnet Core Runtime Cloud Native Buildpack と ASPNet Cloud Native Buildpack では、デプロイ時に使用する .NET Core Runtime と ASP.NET のバージョンを指定できるようになっています。
runtimeconig.json
や、MSBuild のプロジェクトファイル、ビルド環境変数等で指定できます。
指定できるバージョンは、Dotnet Core Runtime Cloud Native Buildpack のリリースノート や ASPNet Cloud Native Buildpack のリリースノート で確認できる、それぞれの Buildpack が使用できるバージョンだけです。
アプリケーションの使用するランタイムフレームワークとして Microsoft.AspNetCore.App
や Microsoft.AspNetCore.All
を宣言している場合、指定したバージョンの .NET Core Runtime と ASP.NET はビルドプロセスでのみ使用します。
BP_DOTNET_FRAMEWORK_VERSION
を指定する
デプロイ時に使用する .NET Core Runtime と ASP.NET のバージョンは、環境変数 $BP_DOTNET_FRAMEWORK
で指定できます。
また、 プラットフォーム にフラグとして指定することもできますし、プロジェクトの project.toml
で指定することもできます。
project.toml
の内容について詳しく知りたいときは、Cloud Native Buildpacs の ドキュメント を参照してください。
pack build
コマンドのフラグで指定する
pack build myapp --env BP_DOTNET_FRAMEWORK_VERSION=5.0.4
Copied!
project.toml
で指定する
[[ build.env ]] name = 'BP_DOTNET_FRAMEWORK_VERSION' value = '5.0.4'
Copied!
注意:環境変数等でバージョンを指定しても、Buildpack はロールフォワードロジックを適用しません。ロールフォワードロジックについて詳しくは Microsoft のドキュメント を参照してください。
あなたのプロジェクトで runtimeconfig.json を使っているなら、そのファイル内で .NET Core Runtime のバージョンを指定できます。 アプリケーションをデプロイするとき、Buildpack に v2.1.14 の .NET Core Runtime を使わせるには次のように記述します。
{ "runtimeOptions": { "framework": { "version": "2.1.14" } } }
Copied!
あなたのプロジェクトが .csproj
や .fsproj
や .vbproj
などのプロジェクトファイル
を使っているなら、そのファイル内で .NET Core Runtime のバージョンを指定できます。
アプリケーションをデプロイするとき、Buildpack に v2.1.14 の .NET Core Runtime を使わせるには次のように記述します。
<Project> <PropertyGroup> <RuntimeFrameworkVersion>2.1.14</RuntimeFrameworkVersion> </PropertyGroup> </Project>
Copied!
一方、アプリケーションが .NET Core Runtime のパッチバージョンに依存しない場合は、対象フレームワーク(TargetFramework)を指定して、Buildpack に .NET Core Runtime の適切なバージョンを選択させることができます。 Buildpack に .NET Core Runtime 2.1 を使わせるには、対象フレームワークを次のように記述します。
<Project> <PropertyGroup> <TargetFramework>netcoreapp2.1</TargetFramework> </PropertyGroup> </Project>
Copied!
プロジェクトファイルに .NET Core Runtime のバージョンを指定する方法について、詳しくは Microsoft のドキュメント を参照してください。
Dotnet Core Runtime Cloud Native Buildpack と ASPNet Cloud Native Buildpack の v1.0.0 から、buildpack.yml
で .NET Core Runtime のバージョンを指定するのは非推奨になりました。
代わりに、環境変数 BP_DOTNET_FRAMEWORK_VERSION
を指定するようにしてください。
初期設定の Dotnet Core SDK Buildpack は、すでにインストールされている .NET Core Runtime と互換性のあるバージョンの SDK の、最新のパッチバージョンをインストールします。 Buildpack のバージョンに対応する利用可能な SDK のバージョンは Dotnet Core SDK Buildpack のリリースノート を参照してください。
ですが、.NET Core SDK のバージョンを buildpack.yml
へ明示的に指定することもできます。
Dotnet Core SDK Buildpack v1.0.0 から、buildpack.yml
で .NET Core SDK のバージョンを指定するのは非推奨になりました。
.NET Core Runtime と .NET Core SDK は密結合しているし、ほとんどのユーザーは Dotnet Core Runtime Cloud Native Buildpack のインストールする .NET Core Runtime のバージョンを環境変数 BP_DOTNET_FRAMEWORK_VERSION
で指定したほうがいいからです。
そうすれば、Dotnet Core SDK Buildpack はインストールされた .NET Core Runtime と互換性のあるバージョンの SDK を自動的にインストールします。
初期設定の .NET Core paketo Buildpack はコードベースのルートディレクトリをプロジェクトディレクトリとして扱うようになっています。 C# や F# や Visual Basic のソースコードが配置されたものとして扱うのです。 ソースコードをサブディレクトリに配置している場合は、明示的にプロジェクトパスを指定しなければなりません。
BP_DOTNET_PROJECT_PATH
を指定する
ビルド時に使用するプロジェクトパスは、環境変数 $BP_DOTNET_PROJECT_PATH
で指定できます。
また、 プラットフォーム にフラグとして指定することもできますし、プロジェクトの project.toml
で指定することもできます。
project.toml
の内容について詳しく知りたいときは、Cloud Native Buildpacs の ドキュメント を参照してください。
pack build
コマンドのフラグで指定する
pack build my-app --env BP_DOTNET_PROJECT_PATH=./src/my-app
Copied!
project.toml
で指定する
[[ build.env ]] name = 'BP_DOTNET_PROJECT_PATH' value = './src/my-app'
Copied!
Dotnet Publish Cloud Native Buildpack と Dotnet Execute Cloud Native Buildpack の v1.0.0 から、buildpack.yml
でプロジェクトパスを指定するのは非推奨になりました。
代わりに、環境変数 BP_DOTNET_PROJECT_PATH
を指定するようにしてください。
Paketo .NET Core Buildpack では、ビルド時や実行時のどちらでも、CA 証明書の構成 手順に従って、ユーザーが自分で用意した CA 証明書をコンテナのルートトラストストアへ配置できます。
Paketo .NET Core Buildpack では、Procfiles の導入 手順に従って、アプリケーションのコンテナイメージが起動するプロセスを変更できます。
Paketo .NET Core Buildpack では、環境変数の構成 手順に従って、アプリケーションのコンテナイメージを実行するときの環境変数を変更できます。
Paketo .NET Core Buildpack では、ラベルの構成 手順に従って、アプリケーションのコンテナイメージにラベルを指定できます。
Last modified: September 10, 2021