Непрерывное развертывание для 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