Zendesk
Вам будет интересно:Вышел Qt 5.12 с длительным сроком поддержки
В Zendesk разработали node-publisher — инструмент для сборки пакетов Node.js одной командой.
Зачем это нужно?
Нередко при сборке пакета разработчики забывают тот или иной шаг, проводят тестирование неверной версии или вовсе забывают запустить тесты. В результате в репозиторий Node.js попадают пакеты, содержащие ошибки. Отмечается, что node-publisher будет собирать пакеты в автоматическом режиме, не пропуская ни одного этапа. Это позволяет, в том числе, корректно управлять зависимостями.
Как это работает?
node-publisher объединяет в себе пять последовательных шагов:
- Подготовка: проверка относительно рабочего дерева и текущей версии N.
- Тестирование: запуск анализатора кода и тестов.
- Сборка (опционально): проверка кода с помощью Babel.
- Публикация.
- Пост-публикация: создание журнала изменений.
node-publisher работает с несколькими элементами проекта. В частности, он использует определённый рабочий процесс git, проверяет наличие файла .nvmrc и указание имён скриптов в package.json. При запуске в корневой папке проекта создаётся файл .release.yml. При этом инструмент будет выполнять лишь те шаги и команды, которые присутствуют в файле конфигурации. Последний выглядит следующим образом:
rollback: true
prepare: - git diff-index --quiet HEAD -- - git checkout master - git pull --rebase - '[[ -f .nvmrc ]] && ./node_modules/.bin/check-node-version --node $(cat .nvmrc)' - yarn install
test: - yarn travis
build: - yarn build - git diff --staged --quiet || git commit -am "Update build file"
after_publish: - git push --follow-tags origin master:master
changelog:
- ./node_modules/.bin/offline-github-changelog > CHANGELOG.md
- git add CHANGELOG.md
- git commit --allow-empty -m "Update changelog"
- git push origin master:master
Источник