跳至主要内容

GitHub 包快速入门

使用 GitHub Actions 发布到 GitHub 包。

简介

在本指南中,您将创建一个 GitHub Actions 工作流程来测试您的代码,然后将其发布到 GitHub 包。

发布您的包

  1. 在 GitHub 上创建一个新仓库,添加 Node 的 .gitignore 文件。有关更多信息,请参阅“创建新仓库”。

  2. 将仓库克隆到您的本地机器。

    git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY.git
    cd YOUR-REPOSITORY
    
  3. 创建一个 index.js 文件,并添加一个基本的警报,显示“Hello world!”。

    JavaScript
    console.log("Hello, World!");
    
  4. 使用 npm init 初始化 npm 包。在包初始化向导中,输入您的包名称:@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@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}}
    
  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 包。

    要测试这一点,请导航到仓库的“代码”选项卡,并创建一个新版本。有关更多信息,请参阅“管理仓库中的版本”。

查看已发布的包

您可以查看已发布的所有包。

  1. 在 GitHub.com 上,导航到仓库的主页。

  2. 在仓库的右侧边栏中,单击“包”。

    Screenshot of the sidebar of a repository page. The "Packages" section is outlined in orange.

  3. 搜索并单击要查看的包的名称。

安装已发布的包

现在您已经发布了包,您需要在您的项目中将其用作依赖项。有关更多信息,请参阅“使用 npm 注册表”。

下一步

您刚刚添加的基本工作流程会在您的存储库中创建新版本时运行。但这仅仅是您使用 GitHub Packages 可以做的事情的开始。您可以将您的包发布到多个注册表,使用单个工作流程,触发工作流程以在不同的事件(例如合并的拉取请求)上运行,管理容器等等。

将 GitHub Packages 和 GitHub Actions 相结合可以帮助您自动执行应用程序开发过程的几乎所有方面。准备开始了吗?以下是一些有助于您使用 GitHub Packages 和 GitHub Actions 迈出下一步的资源