运行 post 在 Octopus 中部署 powershell 步骤期间的 npm 命令
Run npm command during post deploy powershell step in Octopus
我有一个 nodejs 应用程序,我通过 teamcity built/packaged 并通过 Octopus 部署门户部署到我们的一台服务器(安装了节点)。
一切正常,直到我从章鱼内部进入 post deploy powershell 脚本。
在其中一个代码块中,我有 npm commands
抛出错误 npm not recognised
。当我 运行 服务器上的 power-shell 脚本时,一切正常但是当我尝试通过章鱼 post 部署脚本 运行 时,我得到了如上所述的错误。
我知道已经安装了 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{
}
除非我遗漏了某些东西,否则我怎样才能通过章鱼将它送到 运行?
有可能 Octopus master/tentacle 服务 在 不同的用户 上运行,同时检查该用户的环境变量.
如果您无法找到根本原因,替代方法是在章鱼中定义一个名为 "npmPath"
的目标范围变量(值可能因目标而异)以存储 npm 路径
现在,您可以在脚本中使用 $npmPath
变量。
我有一个 nodejs 应用程序,我通过 teamcity built/packaged 并通过 Octopus 部署门户部署到我们的一台服务器(安装了节点)。 一切正常,直到我从章鱼内部进入 post deploy powershell 脚本。
在其中一个代码块中,我有 npm commands
抛出错误 npm not recognised
。当我 运行 服务器上的 power-shell 脚本时,一切正常但是当我尝试通过章鱼 post 部署脚本 运行 时,我得到了如上所述的错误。
我知道已经安装了 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{
}
除非我遗漏了某些东西,否则我怎样才能通过章鱼将它送到 运行?
有可能 Octopus master/tentacle 服务 在 不同的用户 上运行,同时检查该用户的环境变量.
如果您无法找到根本原因,替代方法是在章鱼中定义一个名为 "npmPath"
的目标范围变量(值可能因目标而异)以存储 npm 路径
现在,您可以在脚本中使用 $npmPath
变量。