Ho appena installato nodejs su uno dei miei build server (Win Server 2008 R2) che ospita un agente remoto di Bamboo. Dopo aver completato l'installazione e riavviato, mi sono bloccato nella seguente situazione:L'agente di compilazione remota Bamboo non è in grado di trovare powershell.exe dopo aver installato nodejs
L'agente di build Bamboo remoto è in esecuzione come servizio Windows con l'utente MyDomain \ MyUser. Quando una costruzione con un compito in linea PowerShell è in esecuzione fallisce con l'errore (dal log di compilazione):
com.atlassian.utils.process.ProcessNotStartedException: powershell could not be started
...
java.io.IOException: Cannot run program "powershell"
...
java.io.IOException: CreateProcess error=2, The system cannot find the file specified
Loggin al server come MyDomain \ MyUser, ho verificato che PowerShell è nel percorso:
where powershell
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Ho provato a riavviare il servizio e riavviare il computer più volte. Senza fortuna. L'unica cosa che funziona è se eseguo i miei script come un bat file con un percorso assoluto a PowerShell - ma non lo voglio.
Ho cercato soluzioni su questo, ma anche se questo sembra correlato: Hudson cannot find powershell after update to powershell 3 - le soluzioni proposte non funzionano.
Cosa mi manca qui?
Brillante suggerimento: questo era il trucco. Ho spostato il contenuto della variabile utente sulla variabile di sistema, cancellato la variabile utente PATH e le cose stanno funzionando di nuovo. Non posso credere che l'agente di Build non stia combinando entrambe le variabili PATH. Comunque, questo è davvero bello sapere. Grazie ancora. –
Salvato il lunedì mattina dove tutto era rotto. What timebomb: alcuni giorni dopo l'aggiornamento del nodo, ma solo quando il server è stato riavviato a causa dell'aggiornamento di Windows, l'agente è stato riavviato e l'errore ha avuto inizio. – ankhansen