Примечание.
GitHubразмещенные в данный момент средства выполнения не поддерживаются в GitHub Enterprise Server.
Введение
В этом руководстве вы создадите рабочий процесс GitHub Actions, чтобы протестировать код, а затем опубликовать его в GitHub Packages.
Публикация пакета
-
Создайте новый репозиторий в GitHub, добавив
.gitignoreдля Node. Дополнительные сведения см. в разделе Создание репозитория. -
Клонируйте репозиторий на локальный компьютер.
git clone https://YOUR-HOSTNAME/YOUR-USERNAME/YOUR-REPOSITORY.git cd YOUR-REPOSITORY -
Создайте файл
index.jsи добавьте базовое оповещение, говорящее "Hello world!"JavaScript console.log("Hello, World!");console.log("Hello, World!"); -
Инициализируйте пакет npm с помощью
npm init. В мастере инициализации пакета введите пакет с именем@YOUR-USERNAME/YOUR-REPOSITORYи задайте для тестового скрипта значениеexit 0. При этом будет создан файлpackage.jsonсо сведениями о пакете.$ npm init ... package name: @YOUR-USERNAME/YOUR-REPOSITORY ... test command: exit 0 ... -
Выполните
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 -
Создайте каталог
.github/workflows. В этом каталоге создайте файл с именемrelease-package.yml. -
Скопируйте следующее содержимое 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@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.YOUR-HOSTNAME.com/ - run: npm ci - run: npm publish env: NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}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.YOUR-HOSTNAME.com/ - run: npm ci - run: npm publish env: NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}} -
Укажите npm, какие области и реестр следует публиковать пакеты, используя один из следующих методов:
-
Добавьте файл конфигурации npm для репозитория, создав
.npmrcфайл в корневом каталоге с содержимым:@YOUR-USERNAME:registry=https://npm.pkg.github.com -
Измените
package.jsonфайл и укажитеpublishConfigключ:"publishConfig": { "@YOUR-USERNAME:registry": "https://npm.pkg.github.com" }
-
-
Зафиксируйте и отправьте изменения в 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 -
Созданный рабочий процесс будет выполняться при каждом создании нового выпуска в репозитории. Если тесты пройдены, пакет будет опубликован в GitHub Packages.
Чтобы проверить это, перейдите на вкладку Код в репозитории и создайте новый выпуск. Дополнительные сведения см. в разделе "Управление выпусками в репозитории".
Просмотр опубликованного пакета
Вы можете просмотреть все опубликованные вами пакеты.
-
На GitHubперейдите на главную страницу репозитория.
-
В правой боковой панели репозитория щелкните " Пакеты".

-
Найдите и выберите имя пакета, который требуется просмотреть.
Установка опубликованного пакета
Теперь, когда вы опубликовали пакет, его можно использовать в качестве зависимости в ваших проектах. Дополнительные сведения см. в разделе Работа с реестром npm.
Следующие шаги
Базовый рабочий процесс, который вы только что добавили, запускается в любое время при создании нового выпуска в вашем репозитории. Но это только начало работы с GitHub Packages. Вы можете публиковать свой пакет в нескольких реестрах с помощью одного рабочего процесса, активировать выполнение рабочего процесса при различных событиях, таких как объединенный запрос на вытягивание, управление контейнерами и многие другие.
Сочетание GitHub Packages и GitHub Actions помогает автоматизировать практически все аспекты процессов разработки приложений. Готовы приступить к работе? Ниже приведены некоторые полезные ресурсы для следующих шагов в GitHub Packages и GitHub Actions:
- Изучение GitHub Packages для подробного руководства по пакетам GitHub
- Написание рабочих процессов для подробного руководства по GitHub Actions
- Работа с реестром GitHub Packages для конкретных вариантов использования и примеров