Skip to main content

GitHub Packagesのクイックスタート

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

メモ

GitHub Enterprise Server ホステッド ランナーは、現在 GitHub ではサポートされていません。

はじめに

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

パッケージを公開する

  1. GitHubに新しいリポジトリを作成し、Node の.gitignoreを追加します。 詳しくは、「新しいリポジトリの作成」をご覧ください。

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

    git clone https://YOUR-HOSTNAME/YOUR-USERNAME/YOUR-REPOSITORY.git
    cd YOUR-REPOSITORY
    
  3. index.js ファイルを作成し、「Hello world!」を表示する基本的なアラートを作成します。

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

    $ npm init
      ...
      package name: @YOUR-USERNAME/YOUR-REPOSITORY
      ...
      test command: exit 0
      ...
    
  5. 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
    
  6. .github/workflows ディレクトリを作成します。 そのディレクトリ内に、release-package.yml という名前のファイルを作成します。

  7. 次の YAML コンテンツを release-package.yml ファイルにコピー、 YOUR-HOSTNAME をエンタープライズ名に置き換えます。

    YAML
    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.YOUR-HOSTNAME.com/
          - run: npm ci
          - run: npm publish
            env:
              NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
    
  8. 以下のいずれかの方法でパッケージを公開するスコープとリポジトリを npm に伝えてください。

    • ルート ディレクトリに以下の内容の .npmrc ファイルを作成することで、リポジトリ用の npm 構成ファイルを追加します。

      @YOUR-USERNAME:registry=https://npm.pkg.github.com
      
    • package.json ファイルを編集して、publishConfig キーを指定します。

      "publishConfig": {
        "@YOUR-USERNAME:registry": "https://npm.pkg.github.com"
      }
      
  9. 変更をコミットして 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
    
  10. 作成したワークフローは、リポジトリに新しいリリースが作成されるたびに実行されます。 テストに合格した場合、パッケージは GitHub Packagesに発行されます。

    これを試すには、リポジトリの [Code] タブに移動し、新しいリリースを作成します。 詳細については、「リポジトリのリリースを管理する」を参照してください。

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

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

  1. GitHub で、リポジトリのメイン ページに移動します。

  2. リポジトリの右側のサイドバーで、 [パッケージ] をクリックします。

    リポジトリ ページのサイド バーのスクリーンショット。 [パッケージ] セクションが濃いオレンジ色の枠線で囲まれています。

  3. 検索したら、表示するパッケージの名前をクリックします。

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

これでパッケージを公開できたので、プロジェクト全体で依存関係として利用できます。 詳しくは、「npmレジストリの利用」をご覧ください。

次のステップ

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

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