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

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

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

Примечание. В GitHub Enterprise Server в настоящее время не поддерживаются средства выполнения тестов, размещенные в GitHub. Дополнительные сведения о планируемой поддержке в будущем см. в GitHub public roadmap.

Введение

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

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

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

  2. Клонируйте репозиторий на локальный компьютер.

    $ git clone https://YOUR-HOSTNAME/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, заменив YOUR-HOSTNAME на имя вашего предприятия.

    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.YOUR-HOSTNAME.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 Enterprise Server перейдите на главную страницу репозитория. 1. На правой боковой панели репозитория щелкните Пакеты. Снимок экрана: боковая панель страницы репозитория. Раздел "Пакеты" выделен оранжевым цветом. 1. Найдите и щелкните имя пакета, который требуется просмотреть.

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

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

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

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

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