2016-03-08 15 views
0

Я устанавливаю непрерывную интеграцию с использованием Jenkins-сервера для моего приложения Node.js. Для развертывания я использую скрипт powershell, и для этого я установил плагин PowerShell. Сценарий должен будет выполнить следующие задачи в заказе.Выполнение сценария node.js удаленно

# Step1 
# Stop all the currently running services on web server. For that I am trying to 
# execute maintenance.js remotely from the build server under node 
node \\SharedWebServerFolder\Utilities\maintenance.js stopServices 

# Step2 
# Copies all the resources to server at \\SharedServerWebFolder 

# Step3 
# Start the services 
node \\SharedWebServerFolder\Utilities\maintenance.js startServices 

У меня нет проблем с выполнением Step2. Мой вопрос касается Step1 и Step3.

  1. Должен ли я выполнить maintenance.js удаленно с сервера сборки? Возможно ли это? (Предположим, что я установил node.js на сервере сборки)

  2. Должен ли я иметь еще один скрипт PowerShell на веб-сервере, который локально выполняет maintenance.js? Таким образом, в основном сценарий развертывания (от сервера сборки) будет выполнять удаленный сценарий PowerShell (который находится на веб-сервере), а удаленный сценарий PowerShell будет выполнять локально maintenance.js. В этом случае мне не нужно устанавливать Node.js на сервер сборки.

Что рекомендуется?

ответ

0

Люди обычно используют ssh для выполнения команд удаленно. Я думаю, что вы хотите выполнить команду с вашего сервера сборки на своем сервере производства/промежуточного уровня.

см linux execute command remotely

это просто, когда удаленный ящик ящик линукс.

Если ваш пульт дистанционного управления является окном Windows, вы все равно можете запустить на нем сервер ssh, но его более болезненным для настройки. вы можете попробовать Bitvise SSH Client.

Как только ваш клиент ssh настроен правильно, вы сможете выполнять удаленные команды с вашего сервера сборки.

+0

Сервер сборки и веб-сервер оба являются серверами Windows – LP13

0

Я использовал Jenkins SSH Plugin для развертывания на своих серверах удаленной постановки/производства. Я бы рекомендовал выполнить ваши «maintenance.js» на веб-сервере вместо вашего сервера сборки. Вы можете просто запустить «maintenance.js», выполнение на серверах постановки/производства с сервера сборки с использованием ssh.I считают, что выполнение «maintenance.js» удаленно с сервера сборки трудно достичь.

+0

Будет ли плагин SSH запускать powershell на сервере Windows? – LP13

+0

любая помощь о том, как это сделать на машине Windows? – LP13

Смежные вопросы