はじめに
このガイドでは、コードをテストするGitHub Actionsワークフローを作成して、それをGitHub Packagesに公開します。
マネージド ユーザー アカウント を使用する場合、お使いのアカウントが所有するリポジトリにパッケージを公開することはできません。 このガイドに従うために、代わりに GitHub.com で個人用アカウントを使用してください。
パッケージを公開する
-
GitHub に新しいリポジトリを作成し、ノードに
.gitignore
を追加します。 詳しくは、「新しいリポジトリの作成」をご覧ください。 -
ローカル コンピューターにリポジトリを複製します。
git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY.git cd YOUR-REPOSITORY
-
index.js
ファイルを作成し、「Hello world!」を表示する基本的なアラートを作成します。JavaScript console.log("Hello, World!");
console.log("Hello, World!");
-
npm パッケージを
npm init
で初期化します。 パッケージ初期化ウィザードで、@YOUR-USERNAME/YOUR-REPOSITORY
の形式で名前を入力し、テスト スクリプトをexit 0
に設定します。 これにより、パッケージの情報が付いたpackage.json
ファイルが生成されます。$ npm init ... package name: @YOUR-USERNAME/YOUR-REPOSITORY ... test command: exit 0 ...
-
npm install
を実行してpackage-lock.json
ファイルを生成し、変更をコミットして GitHub にプッシュします。npm install git add index.js package.json package-lock.json git commit -m "initialize npm package" git push
-
.github/workflows
ディレクトリを作成します。 そのディレクトリ内に、release-package.yml
という名前のファイルを作成します。 -
以下の内容の YAML を
release-package.yml
ファイルYAML name: Node.js Package on: release: types: [created] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 16 - run: npm ci - run: npm test publish-gpr: needs: build runs-on: ubuntu-latest permissions: packages: write contents: read steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 16 registry-url: https://npm.pkg.github.com/ - run: npm ci - run: npm publish env: NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
name: Node.js Package on: release: types: [created] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 16 - run: npm ci - run: npm test publish-gpr: needs: build runs-on: ubuntu-latest permissions: packages: write contents: read steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 16 registry-url: https://npm.pkg.github.com/ - run: npm ci - run: npm publish env: NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
-
以下のいずれかの方法でパッケージを公開するスコープとリポジトリを npm に伝えてください。
-
ルート ディレクトリに以下の内容の
.npmrc
ファイルを作成することで、リポジトリ用の npm 構成ファイルを追加します。@YOUR-USERNAME:registry=https://npm.pkg.github.com
-
package.json
ファイルを編集して、publishConfig
キーを指定します。"publishConfig": { "@YOUR-USERNAME:registry": "https://npm.pkg.github.com" }
-
-
コミットして変更をGitHubにプッシュします。
$ git add .github/workflows/release-package.yml # Also add the file you created or edited in the previous step. $ git add .npmrc or package.json $ git commit -m "workflow to publish package" $ git push
-
作成したワークフローは、リポジトリに新しいリリースが作成されるたびに実行されます。 テストにパスすると、パッケージはGitHub Packagesに公開されます。
これを試すには、リポジトリの [Code] タブに移動し、新しいリリースを作成します。 詳細については、「リポジトリのリリースを管理する」を参照してください。
公開したパッケージを表示する
公開したすべてのパッケージは、見ることができます。
-
GitHub で、リポジトリのメイン ページに移動します。
-
リポジトリの右側のサイドバーで、 [パッケージ] をクリックします。
-
検索したら、表示するパッケージの名前をクリックします。
公開したパッケージをインストールする
これでパッケージを公開できたので、プロジェクト全体で依存関係として利用できます。 詳しくは、「npmレジストリの利用」をご覧ください。
次のステップ
ここで追加した基本的なワークフローは、リポジトリ内に新しいリリースが作成されるたびに実行されます。 ただしこれは、GitHub Packagesでできることの手始めにすぎません。 単一のワークフローで複数のレジストリにパッケージを公開する、ワークフローをトリガーしてマージされたプルリクエストなどさまざまなイベントで実行する、コンテナを管理するなど、いろいろなことができます。
GitHub PackagesとGitHub Actionsを組み合わせることで、プリケーション開発プロセスのほぼすべての要素を自動化するために役立ちます。 使い始める準備はできていますか。 以下は、GitHub PackagesおよびGitHub Actionsで次のステップへ進むために役立つリソースです。
- 「GitHub Packages について学ぶ」は、GitHub Packages についての詳細なチュートリアルです
- 「ワークフローの書き込み」は、GitHub Actions についての詳細なチュートリアルです
- 「GitHub Packagesレジストリの利用」は、具体的なユース ケースと例です