【问题标题】:Run npm command during post deploy powershell step in Octopus在 Octopus 中部署后 powershell 步骤期间运行 npm 命令
【发布时间】:2019-06-24 22:58:25
【问题描述】:

我有一个 nodejs 应用程序,我通过 teamcity 构建/打包,并通过 Octopus 部署门户部署到我们的一台服务器(安装了节点)。 一切正常,直到我从章鱼中进行部署后的 powershell 脚本。

在其中一个代码块中,我有 npm commands 引发错误 npm not recognised。当我在服务器上运行 power-shell 脚本时,一切正常,但是当我尝试通过章鱼部署后脚本运行它时,我得到上述错误。

我知道 node /npm 已安装并且环境变量 re:nodejs 设置正确,除非我缺少其他东西,否则它仍然无法正常工作。

我正在尝试做的一个简单的伪代码是这样的:

$deploymentDir = 'D:\Apps\<appname>\<octopus-version-number>' 
    $name = "service" 
    cd $deploymentDir
    if($name){
         Write-Host "link node-windows..."
         npm link node-windows //node-windows is installed globally



    }

else{

    } 

除非我缺少某些东西,否则我怎样才能让它通过章鱼运行?

【问题讨论】:

    标签: node.js powershell npm octopus-deploy


    【解决方案1】:

    Octopus master/tentacle 服务有可能在不同的用户上运行,请检查该用户的环境变量。

    如果您无法找到根本原因,另一种方法是在 octopus 中定义一个名为 "npmPath" 的目标范围变量(值可能因目标而异)来存储 npm 路径

    现在,您可以在脚本中使用$npmPath 变量。

    【讨论】:

    • 第一个选项:change the user that the tentacle service runs on 为我工作。它之前使用的是local user
    猜你喜欢
    • 2023-02-15
    • 1970-01-01
    • 2019-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多