Цели этого руководства
После изучения этого руководства вы сможете:
- Создать пакет npm
- Опубликуйте пакет в реестре
- Автоматизируйте тестирование и публикацию пакета npm с Buddy
Требования
Перед тем, как начать, вам необходимо установить следующее:
Создание пакета npm
Начните с создания папки и инициализации репозитория Git, чтобы ваш пакет был в целости и сохранности под контролем версий:
$ mkdir my_first_npm_module
$ cd my_first_npm_module
$ git init
Следующим шагом будет добавление package.json
, который будет содержать данные вашего модуля. Самый простой способ сделать это - запустить эту команду:
$ npm init
Вам будет предложено ввести информацию о вашем пакете:
name
version
main value
(обычно устанавливается вindex.js
)
Когда будете готовы, проверьте содержимое package.json
. Должно получиться так:
{ "name": "buddy-demo-package", "version": "1.0.3",
"description": "",
"main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC" }
В index.js
функции должны быть предоставлены как свойство объекта exports
. Вот пример:
exports.printMsg = function() {
console.log("My first package message");
}
После того, как все настроено, вы должны зафиксировать свои файлы в репо:
$ git add *
$ git commit -m 'init my package'
Публикация пакета
Чтобы опубликовать пакет, вам необходимо зарегистрироваться в реестре npm. Сделать это можно двумя способами:
- Зарегистрируйтесь на npmjs.com
- Выполнить
npm adduser
в терминале
После регистрации войдите в клиент и опубликуйте пакет:
$ npm login
$ npm publish
Вы можете проверить, все ли работает правильно, посмотрев свой пакет на npmjs.com по имени, указанному в package.json
.
Команда
npm publish
публикует все файлы из каталога, кроме добавленных в.gitgnore
и.npmignore
.
Внесение изменений в пакет
Каждый раз, когда вы вносите изменения в свой пакет (добавляете новую функцию и т. Д.), Вам необходимо обновить версию в package.json
. Наиболее удобный способ - использовать метод npm version
с типом патча minor
или major
. Затем снова запустите npm publish once
:
$ npm version patch
$ npm publish
Автоматизация тестов и публикаций npm
Перед отправкой пакета в реестр рекомендуется проверить его, чтобы убедиться, что он не содержит ошибок. Вы можете сделать это, установив конвейер в Buddy, который будет одновременно тестировать и развертывать ваш пакет.
В этом примере мы будем использовать демонстрационный проект, который вы можете форкнуть из нашей учетной записи GitHub.
Когда вы закончите, войдите в свою рабочую область Buddy и сделайте следующее:
- Создайте новый проект, выберите GitHub в качестве поставщика и выберите разветвленный репозиторий.
- Добавьте новый конвейер, установите режим триггера на При каждом нажатии и выберите Главный в качестве целевой ветви.
- Добавьте действие Node.js. Будут выполняться команды по умолчанию:
- Добавьте еще одно действие Node.js, которое отправит пакет в реестр:
Обязательно установите cli-login
на вкладке Среда, чтобы вы могли пройти аутентификацию:
npm install -g npm-cli-login publish
После того, как конвейер установлен, Buddy будет автоматически тестировать ваш пакет при каждом нажатии на ветку Master и, если ошибок нет, доставит его в реестр.
Использование переменных среды для хранения учетных данных npm
Buddy позволяет хранить учетные данные для аутентификации в виде переменных среды, которые впоследствии можно использовать в действиях во всей рабочей области, проекте или конвейере.
- Перейдите в Параметры проекта и откройте вкладку Переменные среды.
- Введите
NPM_PASSWORD
,NPM_EMAIL
иNPM_LOGIN
и их соответствующие значения:
Вы можете установить флажок Зашифровать, чтобы скрыть конфиденциальные данные от других пользователей.
Не стесняйтесь поделиться этим руководством, и если вам нужна помощь в настройке и автоматизации вашего процесса, просто напишите на [email protected] или оставьте сообщение на нашем форуме сообщества.