跳至主要内容

GitHub 包快速入门

使用 GitHub Actions 将软件包发布到 GitHub Packages。

简介

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

发布你的软件包

  1. 在 GitHub 上创建一个新仓库,并添加 Node 的 .gitignore。更多信息请参见 创建新仓库

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

    git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY.git
    cd YOUR-REPOSITORY
    
  3. 创建一个 index.js 文件,并添加一个基本的 alert,显示“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@v5
          - 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@v5
          - 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 配置文件

      @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. 在仓库的右侧边栏,点击 Packages(软件包)。

    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 的资源。

© . This site is unofficial and not affiliated with GitHub, Inc.