ノート: GitHubホストランナーは、現在GitHub Enterprise Serverでサポートされていません。 GitHubパブリックロードマップで、計画されている将来のサポートに関する詳しい情報を見ることができます。
はじめに
このガイドでは、コードをテストするGitHub Actionsワークフローを作成して、それをGitHub Packagesに公開します。
パッケージを公開する
-
GitHub に新しいリポジトリを作成し、ノードに
.gitignore
を追加します。 このパッケージを後で削除したい場合は、プライベートリポジトリを作成します。パブリックパッケージは削除できません。詳しい情報については、「新しいリポジトリを作成する」を参照してください。 -
リポジトリをローカルマシンにクローンします。
$ git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY.git $ cd YOUR-REPOSITORY
-
index.js
ファイルを作成し、「Hello world!」を表示する基本的なアラートを作成します。JavaScript alert("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@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}}
-
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 # 前のステップで作成もしくは編集したファイルも追加する $ git add .npmrc or package.json $ git commit -m "workflow to publish package" $ git push
-
作成したワークフローは、リポジトリに新しいリリースが作成されるたびに実行されます。 テストにパスすると、パッケージはGitHub Packagesに公開されます。
これを試すには、リポジトリの [Code] タブに移動し、新しいリリースを作成します。 詳しい情報については、「リポジトリのリリースを管理する」を参照してください。
公開したパッケージを表示する
公開したすべてのパッケージは、見ることができます。
-
GitHub Enterprise Serverで、リポジトリのメインページにアクセスしてください。
-
ファイルのリストの右で、Packagesをクリックしてください。
-
表示させたいパッケージの名前をクリックしてください。
公開したパッケージをインストールする
これでパッケージを公開できたので、プロジェクト全体で依存関係として利用できます。 詳しい情報については「npmレジストリの利用」を参照してください。
次のステップ
ここで追加した基本的なワークフローは、リポジトリ内に新しいリリースが作成されるたびに実行されます。 ただしこれは、GitHub Packagesでできることの手始めにすぎません。 単一のワークフローで複数のレジストリにパッケージを公開する、ワークフローをトリガーしてマージされたプルリクエストなどさまざまなイベントで実行する、コンテナを管理するなど、いろいろなことができます。
GitHub PackagesとGitHub Actionsを組み合わせることで、プリケーション開発プロセスのほぼすべての要素を自動化するために役立ちます。 始める準備はできましたか? 以下は、GitHub PackagesおよびGitHub Actionsで次のステップへ進むために役立つリソースです。
- GitHub Packagesについての詳細なチュートリアル、「GitHub Packagesを学ぶ」
- GitHub Actionsの詳細なチュートリアル、「GitHub Actionsを学ぶ」
- 特定のユースケースと例のための「GitHub Packagesレジストリの利用」