Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы, возможно, еще выполняется. Актуальные сведения см. в документации на английском языке.

Краткое руководство по GitHub Packages

Публикация в GitHub Packages с помощью GitHub Actions.

Введение

В этом руководстве вы создадите рабочий процесс GitHub Actions, чтобы протестировать код, а затем опубликовать его в GitHub Packages.

Публикация пакета

  1. Создайте новый репозиторий в GitHub, добавив .gitignore для Node. Дополнительные сведения см. в разделе Создание репозитория.

  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 с помощью 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@v3
          - uses: actions/setup-node@v3
            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@v3
          - uses: actions/setup-node@v3
            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, в какой область и реестре следует публиковать пакеты, с помощью одного из следующих методов:

    • Добавьте файл конфигурации npm для репозитория, создав .npmrc файл в корневом каталоге с содержимым:
      @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.

    Чтобы проверить это, перейдите на вкладку Код в репозитории и создайте новый выпуск. Дополнительные сведения см. в разделе Управление выпусками в репозитории.

Просмотр опубликованного пакета

Вы можете просмотреть все опубликованные вами пакеты.

  1. На GitHub.com перейдите на главную страницу репозитория. 1. На правой боковой панели репозитория щелкните Пакеты. Снимок экрана: боковая панель страницы репозитория. Раздел "Пакеты" выделен оранжевым цветом. 1. Найдите и щелкните имя пакета, который требуется просмотреть.

Установка опубликованного пакета

Теперь, когда вы опубликовали пакет, его можно использовать в качестве зависимости в ваших проектах. Дополнительные сведения см. в разделе Работа с реестром npm.

Дальнейшие действия

Базовый рабочий процесс, который вы только что добавили, запускается в любое время при создании нового выпуска в вашем репозитории. Но это только начало работы с GitHub Packages. Вы можете публиковать свой пакет в нескольких реестрах с помощью одного рабочего процесса, активировать выполнение рабочего процесса при различных событиях, таких как объединенный запрос на вытягивание, управление контейнерами и многие другие.

Сочетание GitHub Packages и GitHub Actions помогает автоматизировать практически все аспекты процессов разработки приложений. Вы готовы начать работу? Ниже приведены некоторые полезные ресурсы для следующих шагов в GitHub Packages и GitHub Actions: