В моем последнем посте я показал вам, как создать, протестировать и построить репозиторий монорепозитория. В этой статье я покажу вам, как автоматизировать публикацию вашего монорепозитория в NPM с помощью GitHub Actions.

Что такое действия GitHub?

Действия GitHub позволяют автоматизировать рабочие процессы на основе событий репозитория, таких как push, создание задачи или создание новой версии.

Рабочие процессы состоят из заданий, которые по умолчанию выполняются одновременно. Каждое задание должно представлять собой отдельную часть вашего рабочего процесса, описываемого с помощью шагов.

В рамках этой статьи у нас будет одна работа, в которой будет описано, какие шаги необходимо выполнить, чтобы опубликовать наш пакет.

Конфиг

Вам нужно установить NPM_AUTH_TOKEN в настройках репо. Это токен, который действие будет использовать для аутентификации в NPM. Вам нужно сгенерировать его в NPM, затем вы можете добавить его в свои секреты (настройки - ›секреты), чтобы его можно было передать на шаг.

Совет: НЕ помещайте токен непосредственно в файл рабочего процесса.

Создание нашего файла рабочего процесса

Мы определим наш рабочий процесс, создав файл YAML.

Вы можете создать этот файл прямо на странице репозитория GitHub. Вам просто нужно будет щелкнуть вкладку «Действия», а затем «настроить рабочий процесс самостоятельно». Вы можете удалить весь сгенерированный код и переименовать файл рабочего процесса.

Или вы можете создать этот файл в каталоге своего проекта. В корне вашего репозитория создайте каталог с именем .github/workflows для хранения файлов рабочего процесса. В .github/worflows добавьте .yml или .yaml файл для рабочего процесса. Например, .github/workflows/npm-publish.yml.

Создав файл рабочего процесса, мы можем приступить к его редактированию. Сначала мы определяем, когда будет запущен рабочий процесс. Например, этот рабочий процесс запускается, когда изменения передаются в главную ветвь или когда создается запрос на вытягивание.

Работа и машина

Пришло время создать задание «Публикация» и его этапы.

Сначала мы определим имя и тип машины, на которой будет выполняться наша работа. Вы можете установить любое имя, какое захотите. В таком случае я назову это «Опубликовать». Машина может быть бегуном, размещенным на GitHub, или самодостаточным.

Шаги

Чтобы опубликовать наш пакет на NPM, у нас будут следующие шаги:

  • Оформить заказ: проверяет наш репозиторий, чтобы наш рабочий процесс мог получить к нему доступ.
  • Cache node_modules: кэширует зависимости и выходные данные сборки для сокращения времени выполнения рабочего процесса.
  • Git Identity: предоставляет доступ к GitHub Actions для изменения файлов нашего репозитория.
  • Установить: устанавливает зависимости проекта.
  • Build: Строит наш проект.
  • Настроить узел: задает версию узла и URL-адрес репозитория.
  • Опубликовать: публикует наш пакет в NPM.

Заключение

Это наш последний файл рабочего процесса. Вы можете улучшить этот рабочий процесс, добавив больше заданий и шагов. Например, протестируйте свой код или запустите проект в других средах.