Примерно пару лет назад я создал библиотеку NPM для создания тестовых данных. Ничего особенного, просто набор функций javascript, создающих различные типы тестовых данных, таких как строки, даты, числа и т. Д. Цель заключалась не в создании библиотеки с открытым исходным кодом, а в том, чтобы изучить непрерывный процесс создания чего-либо и публикации его с помощью публикация в реестре НПМ.

Процесс включал в себя несколько важных вещей, таких как автоматизация расчета тестового покрытия с использованием комбинезонов, создание и тестирование библиотеки с использованием travis CI и, наконец, публикация библиотеки в реестре npm.

Благодаря тому, что GitHub недавно представил действия / рабочие процессы, он объединил все воедино, и я подумал, что должен автоматизировать этот процесс. Это сообщение в блоге - попытка описать, как я использовал рабочие процессы GitHub для автоматизации процесса создания и публикации библиотеки NPM.

1. Создайте рабочий процесс для сборки и тестирования

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

После того, как вы нажмете кнопку «Настроить этот рабочий процесс», вы попадете в редактор, в котором для вас предварительно настроен файл yaml с выбранным набором шагов.

Вы можете переименовать файл, чтобы называть его в зависимости от того, что вы хотите сделать. Я переименовал его в test.js.yml, так как хотел только установить зависимости и запускать тесты как часть этого рабочего процесса. Как только вы сохраняете файл с фиксацией, он сохраняется в папке .github / workflows в файлах вашего проекта.

Файл содержит -

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

Кроме того, вы можете настроить рабочие процессы для работы в различных версиях Node.js.

Вот для справки файл из моего проекта.

2. Настройте токен NPM.

Поскольку вы хотите опубликовать библиотеку в NPM, вам потребуется токен из NPM, который необходимо настроить как секретный в своем репозитории GitHub. Для этого

  1. Зайдите в свою учетную запись npmjs →
  2. Перейдите в токены аутентификации.
  3. Нажмите Создать новый токен.
  4. Выберите уровень доступа Чтение и публикация.
  5. Чтобы настроить его в репозитории GitHub, перейдите в НастройкиСекреты и добавьте Новый секрет и вставьте токен, созданный в вышеуказанных шагах

3. Создайте рабочий процесс для публикации в реестре NPM.

После того, как рабочий процесс тестирования пройдет и у вас будет настроен токен NPM, следующим шагом будет публикация библиотеки в реестре NPM. Следуя аналогичному шагу №1, перейдите на вкладку Действия и выберите шаблон Опубликовать пакет Node.js, который примет вас в соответствующий файл yaml. Здесь вам нужно указать ссылку на URL-адрес реестра, который представляет собой https://registry.npmjs.org, а затем добавить токен NPM в качестве переменной среды, чтобы рабочий процесс выбрал его значение из настроенный секрет при взаимодействии с реестром NPM.

На основе триггеров вы можете увидеть, как рабочие процессы выглядят на вкладке «Действия». Например, так выглядят рабочие процессы для моего проекта -

Ссылки:

  1. GitHub - https://github.com/rishikeshdhokare/fakedata
  2. NPM - https://www.npmjs.com/package/@rishikeshdhokare/fakedata

Надеюсь, это вам поможет! Не забывайте делиться и аплодировать! 🙂