2016-03-08 190 views
0

我正在为我的Node.js应用程序使用Jenkins服务器设置持续集成。对于部署,我正在使用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. 我应该在本地执行maintenance.js的Web服务器上还有一个PowerShell脚本吗?因此,基本上部署脚本(来自构建服务器)将执行远程PowerShell脚本(该脚本位于Web服务器上),远程PowerShell脚本将在本地执行maintenance.js。在这种情况下,我不必在生成服务器上安装Node.js。

什么是推荐?

回答

0

人们通常使用ssh来远程执行命令。我想你想在你的生产/临时服务器上从你的构建服务器执行一个命令。

看到linux execute command remotely

在遥控盒是在Linux中,这是简单的。

如果你的远程是一个Windows机器,那么你仍然可以运行一个ssh服务器,但是它更加痛苦的设置。你可以试试Bitvise SSH Client。

一旦您的SSH客户端设置正确,您应该能够从您的构建服务器执行远程命令。

+0

构建服务器和web服务器都是windows服务器 – LP13

0

我已经在我的远程登台/生产服务器上使用了Jenkins SSH插件。我建议在web服务器机器上执行您的'maintenance.js',而不是您的构建服务器。您可以触发'maintenance.js'在构建服务器中使用ssh执行staging/production服务器。我相信从构建服务器远程执行'maintenance.js'是很难实现的。

+0

SSH插件会在Windows服务器上执行powershell吗? – LP13

+0

有关如何在Windows机器上执行此操作的任何帮助? – LP13