NPM и deploy по ftp

399
09 марта 2017, 23:28

Всем доброго времени суток! Делаю веб-приложение на Angular 2. Захотелось автоматизировать deploy по ftp. Для сборки использую Webpack. Есть информация, что сам node.js может помочь в решении задачи, пример скрипта есть. Но как заставить выполняться нужный скрипт после выполнения команды npm run build ? Как я понимаю, надо добавлять вызов скрипта в секцию scripts файла package.json. Или я неправ ? Секция scripts файла package.json.

"scripts": {
"clean": "rimraf node_modules doc dist && npm cache clean",
"clean-install": "npm run clean && npm install",
"clean-start": "npm run clean-install && npm start",
"watch": "webpack --watch --progress --profile",
"build": "rimraf dist && webpack --progress --profile --bail",
"server": "webpack-dev-server --inline --progress --port 8080",
"webdriver-update": "webdriver-manager update",
"webdriver-start": "webdriver-manager start",
"lint": "tslint --force \"src/**/*.ts\"",
"e2e": "protractor",
"e2e-live": "protractor --elementExplorer",
"pretest": "npm run lint",
"test": "karma start",
"posttest": "remap-istanbul -i coverage/json/coverage-final.json -o coverage/html -t html",
"test-watch": "karma start --no-single-run --auto-watch",
"ci": "npm run e2e && npm run test",
"docs": "typedoc --options typedoc.json src/app/app.component.ts",
"start": "npm run server",
"start:hmr": "npm run server -- --hot",
"postinstall": "npm run webdriver-update",
 },

Спасибо за помощь.

Answer 1

Если у вас уже есть скрипт для деплоя, то вы можете добавить для него отдельную запись в scripts, а так же создать объединенную команду для последовательной сборки и выгрузки проекта:

"scripts": {
   "deploy": "<здесь вы вызываете CLI команду для выгрузки готового приложения>",
   "build": "rimraf dist && webpack --progress --profile --bail",
   "build-n-deploy": "npm run build && npm run deploy"
},

Вот пример билда с деплоем:

npm run build-n-deploy
Answer 2

Если у Вас git. Можно установить глобально допустим npm git-pull-all.

а в package.json в скрипт добавить что то вроде этого:

"scripts": {
 ...
 git_pull:'git-pull-all ./'
}

Потому npm install и по идее должно сработать выливание по всем веткам и папкам

READ ALSO
Как вернуть назад аттрибут класса

Как вернуть назад аттрибут класса

Верхняя часть рабочая, нижняя в принципе тоже, но при помощи $("main-menu a")

336
Как поставить в очередь?

Как поставить в очередь?

Описание работы слайдера: слайдер меняет по 5 фотографий при клике, и записывает 5 фотографий в буфер, чтобы при следующем клике заменяет предыдущие...

269
Что такое Critical rendering path? [требует правки]

Что такое Critical rendering path? [требует правки]

Объясните, пожалуйста, значение термина Critical rendering path

297