【问题标题】:Executing node.js script remotely远程执行 node.js 脚本
【发布时间】:2016-03-08 18:55:31
【问题描述】:

我正在使用 Jenkins 服务器为我的 Node.js 应用程序设置持续集成。对于部署,我使用的是 powershell 脚本,为此我安装了 powershell 插件。该脚本将需要按顺序执行以下任务。

# 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. 我是否应该在 Web 服务器上再添加一个在本地执行 maintenance.js 的 PowerShell 脚本?因此,基本上部署脚本(来自构建服务器)将执行远程 PowerShell 脚本(位于 Web 服务器上),并且该远程 PowerShell 脚本将在本地执行 maintenance.js。在这种情况下,我不必在构建服务器上安装 Node.js。

推荐什么?

【问题讨论】:

    标签: node.js powershell jenkins deployment


    【解决方案1】:

    人们通常使用 ssh 来远程执行命令。我认为您想在生产/登台服务器上从构建服务器执行命令。

    linux execute command remotely

    这很简单,远程盒子是一个 linux 盒子。

    如果您的遥控器是 Windows 机器,那么您仍然可以在其上运行 ssh 服务器,但设置起来会更加痛苦。你可以试试 Bitvise SSH 客户端。

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

    【讨论】:

    • 构建服务器和web服务器都是windows服务器
    【解决方案2】:

    我已使用 Jenkins SSH 插件在我的远程登台/生产服务器中进行部署。我建议在 Web 服务器机器而不是构建服务器中执行您的“maintenance.js”。您可以触发“maintenance.js”执行在使用 ssh 从构建服务器的登台/生产服务器中。我相信从构建服务器远程执行“maintenance.js”很难实现。

    【讨论】:

    • SSH插件会在windows服务器中执行powershell吗?
    • 有关如何在 Windows 机器上执行此操作的任何帮助?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-25
    • 1970-01-01
    • 2011-11-24
    • 1970-01-01
    • 2022-10-12
    • 2020-11-12
    • 1970-01-01
    相关资源
    最近更新 更多