# GitHub Packagesのクイックスタート

GitHub Packagesを使用してGitHub Actionsに発行します。

## はじめに

このガイドでは、コードをテストし、GitHub Actionsに発行するGitHub Packages ワークフローを作成します。

## パッケージを公開する

1. GitHubに新しいリポジトリを作成し、Node の`.gitignore`を追加します。 詳しくは、「[新しいリポジトリの作成](/ja/repositories/creating-and-managing-repositories/creating-a-new-repository)」をご覧ください。

2. ローカル コンピューターにリポジトリを複製します。

   ```shell
   git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY.git
   cd YOUR-REPOSITORY
   ```

3. `index.js` ファイルを作成し、「Hello world!」を表示する基本的なアラートを作成します。

   ```javascript copy
   console.log("Hello, World!");
   ```

4. npm パッケージを `npm init` で初期化します。 パッケージ初期化ウィザードで、 *`@YOUR-USERNAME/YOUR-REPOSITORY`* の形式で名前を入力し、テスト スクリプトを `exit 0` に設定します。 これにより、パッケージの情報が付いた `package.json` ファイルが生成されます。

   ```shell
   $ npm init
     ...
     package name: @YOUR-USERNAME/YOUR-REPOSITORY
     ...
     test command: exit 0
     ...
   ```

5. `npm install`を実行して`package-lock.json` ファイルを生成し、変更をコミットしてGitHubにプッシュします。

   ```shell
   npm install
   git add index.js package.json package-lock.json
   git commit -m "initialize npm package"
   git push
   ```

6. `.github/workflows` ディレクトリを作成します。 そのディレクトリ内に、`release-package.yml` という名前のファイルを作成します。

7. 次の YAML コンテンツを `release-package.yml` ファイルにコピー。

   ```yaml copy
   name: Node.js Package

   on:
     release:
       types: [created]

   jobs:
     build:
       runs-on: ubuntu-latest
       steps:
         - uses: actions/checkout@v6
         - uses: actions/setup-node@v4
           with:
             node-version: 20
         - run: npm ci
         - run: npm test

     publish-gpr:
       needs: build
       runs-on: ubuntu-latest
       permissions:
         packages: write
         contents: read
       steps:
         - uses: actions/checkout@v6
         - uses: actions/setup-node@v4
           with:
             node-version: 20
             registry-url: https://npm.pkg.github.com/
         - run: npm ci
         - run: npm publish
           env:
             NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
   ```

8. 以下のいずれかの方法でパッケージを公開するスコープとリポジトリを npm に伝えてください。
   * ルート ディレクトリに以下の内容の `.npmrc` ファイルを作成することで、リポジトリ用の npm 構成ファイルを追加します。

     ```shell
     @YOUR-USERNAME:registry=https://npm.pkg.github.com
     ```

   * `package.json` ファイルを編集して、`publishConfig` キーを指定します。

     ```shell
     "publishConfig": {
       "@YOUR-USERNAME:registry": "https://npm.pkg.github.com"
     }
     ```

9. 変更をコミットして GitHubにプッシュします。

   ```shell
   $ 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
   ```

10. 作成したワークフローは、リポジトリに新しいリリースが作成されるたびに実行されます。 テストに合格した場合、パッケージは GitHub Packagesに発行されます。

    これを試すには、リポジトリの **\[Code]** タブに移動し、新しいリリースを作成します。 詳細については、「[リポジトリのリリースを管理する](/ja/repositories/releasing-projects-on-github/managing-releases-in-a-repository#creating-a-release)」を参照してください。

## 公開したパッケージを表示する

公開したすべてのパッケージは、見ることができます。

1. GitHub で、リポジトリのメイン ページに移動します。
2. リポジトリの右側のサイドバーで、 **\[パッケージ]** をクリックします。

   ![リポジトリ ページのサイド バーのスクリーンショット。 \[パッケージ\] セクションが濃いオレンジ色の枠線で囲まれています。](/assets/images/help/package-registry/packages-from-repo.png)
3. 検索したら、表示するパッケージの名前をクリックします。

## 公開したパッケージをインストールする

これでパッケージを公開できたので、プロジェクト全体で依存関係として利用できます。 詳しくは、「[npmレジストリの利用](/ja/packages/working-with-a-github-packages-registry/working-with-the-npm-registry#installing-a-package)」をご覧ください。

## 次のステップ

ここで追加した基本的なワークフローは、リポジトリ内に新しいリリースが作成されるたびに実行されます。 しかし、これは GitHub Packagesでできることの始まりにすぎません。 単一のワークフローで複数のレジストリにパッケージを公開する、ワークフローをトリガーしてマージされたプルリクエストなどさまざまなイベントで実行する、コンテナを管理するなど、いろいろなことができます。

GitHub PackagesとGitHub Actionsを組み合わせることで、アプリケーション開発プロセスのほぼすべての側面を自動化できます。 使い始める準備はできていますか。
GitHub PackagesとGitHub Actionsで次の手順を実行するために役立つリソースを次に示します。

* 「[GitHub Packages について学ぶ](/ja/packages/learn-github-packages)」は、GitHub Packages についての詳細なチュートリアルです
* 「[ワークフローの書き込み](/ja/actions/how-tos/write-workflows)」は、GitHub Actions についての詳細なチュートリアルです
* 「[GitHub Packagesレジストリの利用](/ja/packages/working-with-a-github-packages-registry)」は、具体的なユース ケースと例です