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

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

> \[!NOTE]
> GitHub Enterprise Serverразмещенные в данный момент средства выполнения не поддерживаются в GitHub.

## Введение

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

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

1. Создайте новый репозиторий GitHub, добавив `.gitignore` его для Node. Дополнительные сведения см. в разделе [Создание репозитория](/ru/enterprise-server@3.22/repositories/creating-and-managing-repositories/creating-a-new-repository).

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

   ```shell
   git clone https://YOUR-HOSTNAME/YOUR-USERNAME/YOUR-REPOSITORY.git
   cd YOUR-REPOSITORY
   ```

3. Создайте файл `index.js` и добавьте базовое оповещение, говорящее "Hello world!"

   ```javascript copy
   console.log("Hello, World!");
   ```

4. Инициализируйте пакет npm с помощью `npm init`. В мастере инициализации пакета введите пакет с именем *`@YOUR-USERNAME/YOUR-REPOSITORY`* и задайте для тестового скрипта значение `exit 0`. При этом будет создан файл `package.json` со сведениями о пакете.

   ```shell
   $ npm init
     ...
     package name: @YOUR-USERNAME/YOUR-REPOSITORY
     ...
     test command: exit 0
     ...
   ```

5. Запустите `npm install` , чтобы создать `package-lock.json` файл, а затем зафиксируйте и отправьте изменения GitHub.

   ```shell
   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 copy
   name: Node.js Package

   on:
     release:
       types: [created]

   jobs:
     build:
       runs-on: ubuntu-latest
       steps:
         - uses: actions/checkout@v6
         - uses: actions/setup-node@v7
           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@v6
         - uses: actions/setup-node@v7
           with:
             node-version: 20
             registry-url: https://npm.YOUR-HOSTNAME.com/
         - run: npm ci
         - run: npm publish
           env:
             NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
   ```

8. Укажите npm, какие области и реестр следует публиковать пакеты, используя один из следующих методов:
   * Добавьте файл конфигурации npm для репозитория, создав `.npmrc` файл в корневом каталоге с содержимым:

     ```shell
     @YOUR-USERNAME:registry=https://npm.pkg.github.com
     ```

   * Измените `package.json` файл и укажите `publishConfig` ключ:

     ```shell
     "publishConfig": {
       "@YOUR-USERNAME:registry": "https://npm.pkg.github.com"
     }
     ```

9. Зафиксируйте и отправьте изменения GitHub.

   ```shell
   $ 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.

    Чтобы проверить это, перейдите на вкладку **Код** в репозитории и создайте новый выпуск. Дополнительные сведения см. в разделе ["Управление выпусками в репозитории](/ru/enterprise-server@3.22/repositories/releasing-projects-on-github/managing-releases-in-a-repository#creating-a-release)".

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

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

1. На GitHubперейдите на главную страницу репозитория.
2. В правой боковой панели репозитория щелкните " **Пакеты**".

   ![Снимок экрана: боковая панель страницы репозитория. Раздел "Пакеты" описывается оранжевым цветом.](/assets/images/help/package-registry/packages-from-repo.png)
3. Найдите и выберите имя пакета, который требуется просмотреть.

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

Теперь, когда вы опубликовали пакет, его можно использовать в качестве зависимости в ваших проектах. Дополнительные сведения см. в разделе [Работа с реестром npm](/ru/enterprise-server@3.22/packages/working-with-a-github-packages-registry/working-with-the-npm-registry#installing-a-package).

## Следующие шаги

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

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

* [Изучение GitHub Packages](/ru/enterprise-server@3.22/packages/learn-github-packages) для подробного руководства по пакетам GitHub
* [Написание рабочих процессов](/ru/enterprise-server@3.22/actions/how-tos/write-workflows) для подробного руководства по GitHub Actions
* [Работа с реестром GitHub Packages](/ru/enterprise-server@3.22/packages/working-with-a-github-packages-registry) для конкретных вариантов использования и примеров