Записки

Настраиваем деплой NPM с Travis CI — пошаговая инструкция для фронтедеров которым некогда

Инструкция

Шаг 0. Подразумевается, что у вас уже есть аккаунты во всех перечисленных сервисах, вы знаете, что это и зачем, где в их интерфейсах искать ваши токены и, если не написано, то сможете догадаться куда их вписать и вообще адекватный человек.


Шаг 1. Активируем Travis для нужного репозитория

Шаг 2. Идём в настройки (кнопочка [Settings] на скрине выше)

Шаг 3. В разделе Environment Variables добавляем две переменные: NPM_EMAIL и NPM_TOKEN. Токен берём на шаге 4.

Шаг 4. Вводим в консольке команду npm token create и получаем что-то такое:

копируем token в поле NPM_TOKEN из шага 3. Всё, настройка сервисов на этом закончена.

Шаг 5. Устанавливаем утилиту Travis CLI вот так: gem install travis -v 1.8.10 --no-rdoc --no-ri . Это ruby гем поэтому, если у вас не установлен Ruby… ну, вы поняли. Обратите внимание, что на момент прочтения вами этой статьи версия может измениться. Чуть более полная инструкция есть в репозитории этой утилиты здесь.

Шаг 6. Создаём в корне проекта файл .travis.yml с вот таким содержимым (пример для модуля Node.js):

language: node_js
version: 1.0
node_js:
- 8.3
deploy:
  edge: true
  provider: npm

Шаг 7. Запускаем настройку деплоя на NPM: travis setup npm --force Ключ --force нам нужен потому, что в файле уже есть какое-то содержимое. Отвечаем на вопросы, вводим ключик от npm. Если что он лежит в файле ~/.npmrc

Шаг 8. Добавляем к какому-нибудь коммиту в репозитории тег и пушим его. По идее в дашборде Travis должна запуститься сборка и по окончании опубликуется свежесобранный пакет на NPM.


На этом всё.


Ошибка missing_apikey


У меня так случилось, что в консоли Трависа была ошибка No stash entries found. missing api_key. Решается эта проблема добавлением в .travis.yml параметров version: 1.0 и deploy.edge: true, а также выключением в Travis в настройках проекта настройки Enable build config validation. Решение взято отсюда. После этого публикация пакетов должна работать нормально. Если нет, то оставьте настройку старшим товарищам или смените профессию. Последнее предпочтительней.

________________

Если вам есть, что добавить или вы хотите что-то уточнить в статье не стесняйтесь писать мне на почту–мессенджеры–спортлото. Все контакты на главной странице