Выполните команду npm во время шага PowerShell после развертывания в Octopus - PullRequest
1 голос
/ 25 июня 2019

У меня есть приложение 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{

    } 

Если я что-то упускаю, как я могу запустить его через осьминога?

1 Ответ

1 голос
/ 25 июня 2019

Существует вероятность того, что Мастер / щупальца Octopus работает на другой пользователь , проверьте переменную среды для этого пользователя также.

Если вам не удается найтиосновная причина, альтернатива - определить одну переменную области действия цели, называемую "npmPath" (значение может отличаться в зависимости от цели) в осьминоге для хранения пути npm

Теперь вы можете использовать переменную $npmPath в скрипте.

...