Примерно пару лет назад я создал библиотеку NPM для создания тестовых данных. Ничего особенного, просто набор функций javascript, создающих различные типы тестовых данных, таких как строки, даты, числа и т. Д. Цель заключалась не в создании библиотеки с открытым исходным кодом, а в том, чтобы изучить непрерывный процесс создания чего-либо и публикации его с помощью публикация в реестре НПМ.
Процесс включал в себя несколько важных вещей, таких как автоматизация расчета тестового покрытия с использованием комбинезонов, создание и тестирование библиотеки с использованием travis CI и, наконец, публикация библиотеки в реестре npm.
Благодаря тому, что GitHub недавно представил действия / рабочие процессы, он объединил все воедино, и я подумал, что должен автоматизировать этот процесс. Это сообщение в блоге - попытка описать, как я использовал рабочие процессы GitHub для автоматизации процесса создания и публикации библиотеки NPM.
1. Создайте рабочий процесс для сборки и тестирования
Это так же просто, как перейти на вкладку «Действия» в репозитории GitHub и выбрать шаблон рабочего процесса, который соответствует вашим потребностям. В моем случае, поскольку это был проект Node.js, я выбираю соответствующий шаблон рабочего процесса. Это выглядело так ниже -
После того, как вы нажмете кнопку «Настроить этот рабочий процесс», вы попадете в редактор, в котором для вас предварительно настроен файл yaml с выбранным набором шагов.
Вы можете переименовать файл, чтобы называть его в зависимости от того, что вы хотите сделать. Я переименовал его в test.js.yml, так как хотел только установить зависимости и запускать тесты как часть этого рабочего процесса. Как только вы сохраняете файл с фиксацией, он сохраняется в папке .github / workflows в файлах вашего проекта.
Файл содержит -
- триггеры, на которых должен запускаться рабочий процесс, например когда вы вставляете код в основную ветку или создаются запросы на вытягивание и т. д.
- Набор заданий для выполнения как часть этого рабочего процесса, например тестовое задание
Кроме того, вы можете настроить рабочие процессы для работы в различных версиях Node.js.
Вот для справки файл из моего проекта.
2. Настройте токен NPM.
Поскольку вы хотите опубликовать библиотеку в NPM, вам потребуется токен из NPM, который необходимо настроить как секретный в своем репозитории GitHub. Для этого
- Зайдите в свою учетную запись npmjs →
- Перейдите в токены аутентификации.
- Нажмите Создать новый токен.
- Выберите уровень доступа Чтение и публикация.
- Чтобы настроить его в репозитории GitHub, перейдите в Настройки → Секреты и добавьте Новый секрет и вставьте токен, созданный в вышеуказанных шагах
3. Создайте рабочий процесс для публикации в реестре NPM.
После того, как рабочий процесс тестирования пройдет и у вас будет настроен токен NPM, следующим шагом будет публикация библиотеки в реестре NPM. Следуя аналогичному шагу №1, перейдите на вкладку Действия и выберите шаблон Опубликовать пакет Node.js, который примет вас в соответствующий файл yaml. Здесь вам нужно указать ссылку на URL-адрес реестра, который представляет собой https://registry.npmjs.org, а затем добавить токен NPM в качестве переменной среды, чтобы рабочий процесс выбрал его значение из настроенный секрет при взаимодействии с реестром NPM.
На основе триггеров вы можете увидеть, как рабочие процессы выглядят на вкладке «Действия». Например, так выглядят рабочие процессы для моего проекта -
Ссылки:
- GitHub - https://github.com/rishikeshdhokare/fakedata
- NPM - https://www.npmjs.com/package/@rishikeshdhokare/fakedata
Надеюсь, это вам поможет! Не забывайте делиться и аплодировать! 🙂