今週、私はコマンドライン ツール VShell を運用環境にリリースする準備をしています。このリリースでは、ユーザーはローカルでプロジェクトを複製してビルドする必要がなく、npm 経由で VShell を直接インストールして使用できるようになります。このツールは Node.js を使用して JavaScript で記述されており、配布を容易にするために npm でホストされます。以下は、このリリースを達成するために私が実行した手順の詳細な内訳です:
ビルドを再現可能かつ自動化するために、プロジェクトのルートに build.js スクリプトを作成しました。このスクリプトは必要なファイルをすべて dist フォルダーにコピーするため、ビルド プロセスが簡素化されます。
さらに、package.json で実行するスクリプトも設定しました。
"ビルド": "node build.js"
実行するには、コンソールで「npm run build」と入力するだけです
現時点では、ファイルをコピーするだけの単純なビルドをデモしたいだけですが、将来 UI で実装する場合は、テンプレート バンドル スクリプトをバーベルとして使用する必要があります。
以前は、変更を加えた後にプロジェクトのバージョンを更新するのを忘れることがよくありました。このリリースでは、プロジェクト API の変更を明確に伝えるためにセマンティック バージョニングを採用しました。
v0.0.1 以降の重要な更新を考慮して、package.json のバージョン フィールドを更新してバージョンを v1.0.0 に設定しました。このバージョンには、重大な変更と新機能を備えた安定した API が反映されています。
バージョンの更新を GitHub リリースと同期するために、v1.0.0 の Git タグを作成しました。
git tag -a v1.0.0 -m "Release version 1.0.0" git push origin --tags
これにより、リリースが Git リポジトリ内で適切に追跡されるようになります。
VShell を npm パッケージとして公開するには、package.json の files フィールドを使用して、パッケージに含めるファイルを明示的に定義しました。これにより、必要なファイルとディレクトリのみが公開されたパッケージに含まれるようになります。
例:
npm で VShell を公開するには:
これにより、ユーザーは npm 経由で VShell を利用できるようになりました。
GitHub dependabot は、推移的な依存関係のクロススポーンに関するセキュリティ問題にフラグを立てました。直接インストールしなかったので、次のものを使用しました:
npm ls クロススポーン
どのパッケージが依存しているかを特定します。 eslint がソースであることがわかり、eslint を最新バージョンに更新することで問題を解決しました。
さらに、npm ユーザーに明確なインストール手順を提供するために README.md を更新しました。また、VShell をローカルでセットアップして実行する方法を貢献者に案内するために CONTRIBUTING.md ファイルも改良しました。
精度を高めるために、David Humphrey 教授からのフィードバックを取り入れ、GROQ システムのドキュメントを拡張および明確にしました。
リリース プロセスを合理化するために、新しいタグがプッシュされるたびに npm 公開を自動化するジョブを GitHub Actions ワークフローに追加しました。
ワークフローの追加:
git tag -a v1.0.0 -m "Release version 1.0.0" git push origin --tags
主な機能:
条件付きトリガー: リリース ジョブは、タグ (v*.*.*) がプッシュされた場合にのみトリガーされます。
npm 認証: GitHub Secrets に保存されている安全な NPM_AUTH_TOKEN を使用します。このトークンを作成するには、npm アカウントに移動し、「アクセス トークン」セクションを選択します。
GitHub Release:softprops/action-gh-release を使用してリリースを自動的に生成します。
これらの手順に従って、VShell の npm へのリリースを自動化することができました。ユーザーは次の方法で簡単にツールをインストールして使用できるようになりました。
npm install -g vshell
この合理化されたプロセスと適切なバージョン管理、依存関係管理、ドキュメントの更新により、プロフェッショナルでユーザーフレンドリーな VShell リリースが保証されます。
以上がVShell: 製品リリースのワークフローの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。