8.5 KiB
title, intro, allowTitleToDifferFromFilename, versions, shortTitle, ms.openlocfilehash, ms.sourcegitcommit, ms.translationtype, ms.contentlocale, ms.lasthandoff, ms.locfileid
| title | intro | allowTitleToDifferFromFilename | versions | shortTitle | ms.openlocfilehash | ms.sourcegitcommit | ms.translationtype | ms.contentlocale | ms.lasthandoff | ms.locfileid | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Краткое руководство по GitHub Packages | Публикация в {% data variables.product.prodname_registry %} с помощью {% data variables.product.prodname_actions %}. | true |
|
Quickstart | a3e4869253e91766eaf44a06dcc71f92d59433fd | 5f40f9341d |
MT | ru-RU | 10/04/2022 | 148009892 |
{% data reusables.actions.enterprise-github-hosted-runners %}
Введение
В этом руководстве вы создадите рабочий процесс {% data variables.product.prodname_actions %}, чтобы протестировать код, а затем опубликовать его в {% data variables.product.prodname_registry %}.
Публикация пакета
- Создайте новый репозиторий в {% data variables.product.prodname_dotcom %}, добавив
.gitignoreдля Node. Дополнительные сведения см. в разделе Создание репозитория. - Клонируйте репозиторий на локальный компьютер.
$ git clone https://{% ifversion ghes or ghae %}YOUR-HOSTNAME{% else %}github.com{% endif %}/YOUR-USERNAME/YOUR-REPOSITORY.git $ cd YOUR-REPOSITORY - Создайте файл
index.jsи добавьте базовое оповещение, говорящее "Hello world!" {% raw %}{% endraw %}console.log("Hello, World!"); - Инициализируйте пакет npm с помощью
npm init. В мастере инициализации пакета введите пакет с именем@YOUR-USERNAME/YOUR-REPOSITORYи задайте для тестового скрипта значениеexit 0. При этом будет создан файлpackage.jsonсо сведениями о пакете. {% raw %}{% endraw %}$ npm init ... package name: @YOUR-USERNAME/YOUR-REPOSITORY ... test command: exit 0 ... - Выполните
npm install, чтобы создать файлpackage-lock.json, а затем зафиксируйте и отправьте изменения в {% data variables.product.prodname_dotcom %}.$ 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{% ifversion ghes or ghae %}, заменивYOUR-HOSTNAMEна имя вашего предприятия{% endif %}.name: Node.js Package on: release: types: [created] jobs: build: runs-on: ubuntu-latest steps: - uses: {% data reusables.actions.action-checkout %} - uses: {% data reusables.actions.action-setup-node %} with: node-version: 12 - run: npm ci - run: npm test publish-gpr: needs: build runs-on: ubuntu-latest permissions: packages: write contents: read steps: - uses: {% data reusables.actions.action-checkout %} - uses: {% data reusables.actions.action-setup-node %} with: node-version: 12 registry-url: {% ifversion ghes or ghae %}https://npm.YOUR-HOSTNAME.com/{% else %}https://npm.pkg.github.com/{% endif %} - run: npm ci - run: npm publish env: NODE_AUTH_TOKEN: ${% raw %}{{secrets.GITHUB_TOKEN}}{% endraw %} - Сообщите NPM, в какой области и реестре следует публиковать пакеты, одним из следующих способов.
- Добавьте файл конфигурации NPM для репозитория, создав в корневом каталоге файл
.npmrcсо следующим содержимым: {% raw %}{% endraw %}@YOUR-USERNAME:registry=https://npm.pkg.github.com - Измените файл
package.jsonи укажите ключpublishConfig: {% raw %}{% endraw %}"publishConfig": { "@<em>YOUR-USERNAME</em>:registry": "https://npm.pkg.github.com" }
- Добавьте файл конфигурации NPM для репозитория, создав в корневом каталоге файл
- Зафиксируйте и отправьте изменения в {% data variables.product.prodname_dotcom %}.
$ 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 - Созданный рабочий процесс будет выполняться при каждом создании нового выпуска в репозитории. Если тесты пройдены, пакет будет опубликован в {% data variables.product.prodname_registry %}.
Чтобы проверить это, перейдите на вкладку **Код** в репозитории и создайте новый выпуск. Дополнительные сведения см. в разделе [Управление выпусками в репозитории](/github/administering-a-repository/managing-releases-in-a-repository#creating-a-release).
Просмотр опубликованного пакета
Вы можете просмотреть все опубликованные вами пакеты.
{% data reusables.repositories.navigate-to-repo %} {% data reusables.package_registry.packages-from-code-tab %} {% data reusables.package_registry.navigate-to-packages %}
Установка опубликованного пакета
Теперь, когда вы опубликовали пакет, его можно использовать в качестве зависимости в ваших проектах. Дополнительные сведения см. в разделе Работа с реестром npm.
Дальнейшие действия
Базовый рабочий процесс, который вы только что добавили, запускается в любое время при создании нового выпуска в вашем репозитории. Но это только начало работы с {% data variables.product.prodname_registry %}. Вы можете публиковать свой пакет в нескольких реестрах с помощью одного рабочего процесса, активировать выполнение рабочего процесса при различных событиях, таких как объединенный запрос на вытягивание, управление контейнерами и многие другие.
Сочетание {% data variables.product.prodname_registry %} и {% data variables.product.prodname_actions %} помогает автоматизировать практически все аспекты процессов разработки приложений. Вы готовы начать работу? Ниже приведены некоторые полезные ресурсы для следующих шагов в {% data variables.product.prodname_registry %} и {% data variables.product.prodname_actions %}:
- Изучение {% data variables.product.prodname_registry %} — углубленное руководство по GitHub Packages
- Изучение {% data variables.product.prodname_actions %} — углубленное руководство по GitHub Actions
- Работа с реестром {% data variables.product.prodname_registry %} — конкретные варианты использования и примеры