このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2021-09-23. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの改善、新機能のためには、最新バージョンのGitHub Enterpriseにアップグレードしてください。 アップグレードに関する支援については、GitHub Enterprise supportに連絡してください。

GitHub Packagesのクイックスタート

GitHub ActionsでGitHub Packagesに公開します。

ノート: GitHubホストランナーは、現在GitHub Enterprise Serverでサポートされていません。 GitHubパブリックロードマップで、計画されている将来のサポートに関する詳しい情報を見ることができます。

はじめに

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

パッケージを公開する

  1. GitHub に新しいリポジトリを作成し、ノードに.gitignoreを追加します。 このパッケージを後で削除したい場合は、プライベートリポジトリを作成します。パブリックパッケージは削除できません。詳しい情報については、「新しいリポジトリを作成する」を参照してください。

  2. リポジトリをローカルマシンにクローンします。

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

    JavaScript
    alert("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ファイルにコピーします。.

    YAML
    name: Node.js Package
    
    on:
      release:
        types: [created]
    
    jobs:
      build:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v2
          - uses: actions/setup-node@v2
            with:
              node-version: 12
          - run: npm ci
          - run: npm test
    
      publish-gpr:
        needs: build
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v2
          - uses: actions/setup-node@v2
            with:
              node-version: 12
              registry-url: https://npm.pkg.github.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
    # 前のステップで作成もしくは編集したファイルも追加する
    $ git add .npmrc or package.json
    $ git commit -m "workflow to publish package"
    $ git push
  10. 作成したワークフローは、リポジトリに新しいリリースが作成されるたびに実行されます。 テストにパスすると、パッケージはGitHub Packagesに公開されます。

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

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

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

  1. GitHub Enterprise Serverで、リポジトリのメインページにアクセスしてください。

  2. ファイルのリストの右で、Packagesをクリックしてください。

    概要ページのパッケージリンク

  3. 表示させたいパッケージの名前をクリックしてください。 パッケージ名

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

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

次のステップ

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

GitHub PackagesとGitHub Actionsを組み合わせることで、プリケーション開発プロセスのほぼすべての要素を自動化するために役立ちます。 始める準備はできましたか? 以下は、GitHub PackagesおよびGitHub Actionsで次のステップへ進むために役立つリソースです。

問題がまだ解決していませんか?