SSG リリース
3853 ワード
序章
Static Site Generator(ssg) 過去 12 週間のタスクの開発のパズルの最後のピースは、アプリケーションのリリースです. SSG のほとんどの機能が正常に実行されました.今度は、パッケージ マネージャーを使用してアプリケーションをリリースします.
NuGet パッケージ マネージャー
NuGet は、Microsoft がビジュアル スタジオ開発拡張機能としてリリースした無料のオープン ソース パッケージ マネージャー プログラムです.リリースアプリケーションは非常にシンプルです.
.nupkg
ファイルを生成し、このファイルを NuGet Web サイトにアップロードしてください.アプリケーションをリリースするための次の手順は次のとおりです.<propertyGroup>
プロジェクト ファイル (.csproj) を構成する <PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net5.0</TargetFramework>
<RootNamespace>kimchi_ssg</RootNamespace>
<PackAsTool>true</PackAsTool>
<PackageId>Kimchi-ssg</PackageId>
<Version>1.0.1</Version>
<Authors>Minsu Kim</Authors>
<IsPackable>true</IsPackable>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Description>Simple .NET application to generate static HTML file(s) from text and MarkDown</Description>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageProjectUrl>https://github.com/mkim219/kimchi-ssg</PackageProjectUrl>
</PropertyGroup>
Visual Studio が
.nupkg
ファイルを生成しない場合、<IsPackable>true</IsPackable>
ファイルを生成するには .nupkg
が必要です..nupkg
ファイルを生成するには 2 つの方法がありますVisual Studio
Build > Pack {Your application}
dotnet pack {C# project file}
を入力します.詳細については、このページ https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-pack を参照してください..nupkg
ファイルが作成されたパスが示される .nupkg
! GitHub アクション
次のステップは、リリースを自動化するための GitHub Action を作成することです.まず、API キーを生成するために NuGet の Web サイトにアクセスします. API キーを取得したら、CI で使用できるシークレット環境キーを
setting > secrets > add new repository secret
に作成します.C# 用の非常に便利な公開テンプレートを見つけました. https://github.com/marketplace/actions/publish-nuget.このテンプレートは、プロジェクト バージョンがリリースされたときに、パッケージを自動的にビルド、パック、公開するアクションを提供します.次のコードは、既存の
.yml
ファイルに追加されます - name: publish on version change
id: publish_nuget
uses: rohith/publish-nuget@v2
with:
PROJECT_FILE_PATH: ./kimchi-ssg/kimchi-ssg.csproj
PACKAGE_NAME: Kimchi-ssg
VERSION_REGEX: '^\s*<Version>(.*)<\/Version>\s*$'
NUGET_KEY: ${{secrets.KIMCHI_SSG_NUGET_KEY}}
GitHub アクションが C# プロジェクト ファイルのバージョン更新を検出したとき. NuGet パッケージのバージョンは自動的に更新されます.
フィードバック
NuGet 経由でパッケージをリリースした後、開発者として IT 企業で働いている友人とレビューするように変更しました.彼は Linux を使っているのでパス環境が Window とは違うというエラーを見つけました.また、彼は私の
README.md
が不明確で曖昧であるとアドバイスしてくれました. Linux 環境で発生する問題と README.md
を修正して、読者がより理解しやすいようにしました.リリース
私の最初のリリースは here です. NuGet コンソールに移動し、
dotnet tool install --global Kimchi-ssg --version 1.0.3
と入力します.Reference
この問題について(SSG リリース), 我々は、より多くの情報をここで見つけました https://dev.to/mkim219/ssg-release-2m7nテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol