Непрерывное развертывание для Node.js... Есть ли стандарт?

Мне нужно научиться автоматически развертывать приложения nodejs (MEAN стек). Тем не менее, со всеми вещами там...

  • Глоток,
  • мокко,
  • Webpack,
  • Browserify,
  • Требуют,
  • План полета,
  • Дженкинс,
  • SemaphoreCI...

Я действительно смущен. Какой стандартный способ сделать это?

2 ответа

Это JS, приятель, стандартного пути нет:)

Чтобы развернуть приложение NodeJS, вам не нужно много, например, если вы развертываете в Heroku, просто получите коммит из настроенной вами ветки, а затем просто запустите npm install и все, что вы написали в конфигурации.

С Angular все сложнее, вам обычно нужно связывать его, компилировать LESS и делать другие трюки.

В качестве результата я бы предложил использовать некоторый MEAN генератор, такой как yeoman https://github.com/angular-fullstack/generator-angular-fullstack чтобы понять, как это может работать, и, возможно, вы можете использовать что-то подобное в своем собственном проекте.

Автоматизируйте настройку системы / сервера через Ansible

Я думаю, вы должны взглянуть на Ansible

Ansible - это радикально простая платформа для автоматизации ИТ, которая упрощает развертывание ваших приложений и систем.

Ansible - это простой инструмент без агентов, который работает исключительно на ssh.

Он состоит из набора ролей, которые могут быть включены в определение хоста. Роль, в свою очередь, состоит из задач

Простая задача выглядит следующим образом:

//Download  and unpacking node js 
name: Download and unpack nodejs
unarchive: src={{nodejs_tarball_url}} dest={{nodejs_path}} copy=no

//Installing node-gyp on system 
name: Install node-gyp
npm: name=node-gyp global=yes executable={{nodejs_bin_path}}/npm state=present

// More task as per need for e.g setting up mongodb, setting redis etc. 

Ознакомьтесь с некоторыми примерами, чтобы избавиться от этого.

Задачи перед развертыванием

Для задач перед развертыванием, таких как запуск тестового набора, пакетирование, минификация и т. Д., Интегрируйте некоторые виды запуска задач javascript, такие как Grunt

Непрерывная интеграция и непрерывное развертывание

  1. Круг Ci
  2. Дженкинс
Другие вопросы по тегам