Ecco la mia configurazione: Non è possibile ottenere Basic Script PowerShell in esecuzione all'interno della squadra Città
Sul log di compilazione, vedo solo l'uscita dei primi due righe, e poi "Processo terminato con il codice 0" l'ultimo risultato di questo passo di costruzione.
Ho tentato di aprire un terminale nel server di generazione nell'account SYSTEM (utilizzando PsTools), poiché Team City è configurato per l'esecuzione in base a detto account. Poi, ho creato un file Test.ps1 con lo stesso contenuto e corse un comando proprio come squadra Città di:
[Step 1/4] Starting: C:\Windows\system32\cmd.exe /c C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NonInteractive -Command - <C:\TeamCity\buildAgent\temp\buildTmp\powershell5129275380148486045.ps1 && exit /b %ERRORLEVEL%
(tranne che per il percorso del file ps1 e la parte iniziale cmd.exe, ovviamente) . Ho visto l'uscita delle prime due linee, e poi il terminale è scomparso all'improvviso!
Dove ho fatto casini? A proposito, sono nuovo di Powershell.
Hai impostato la politica di esecuzione per consentire il tuo script? – ccellar
Ho scelto "Metti lo script in Powershell stdin con gli argomenti -Command" per evitarlo. Inoltre, se è possibile eseguire le prime due righe, penserei che le autorizzazioni siano OK, o ho bisogno di ulteriori permessi per eseguire la logica condizionale? Sarebbe abbastanza pazzo: P –
Non ho contesto per questo strumento, ma mi chiedo se sta avendo problemi con lo stdin multilinea? Prova a sostituire il condizionale con il seguente (one-liner) per vedere se ottieni risultati diversi: if ("1" -eq "1") {write-host "test"} else {write-host "else test"} –