web-dev-qa-db-fra.com

Comment exécuter un script PowerShell en tant que travail dans Jenkins

Cela ressemble à une question simple, mais je n'ai pas pu le résoudre après avoir consulté en ligne. Je veux essentiellement exécuter un script PowerShell (par exemple script.ps1) dans Jenkins et signaler les succès/échecs.

Essayez 1: Exécutez la commande suivante comme "Exécuter la commande par lots de Windows"

powershell -File c:\scripts\script.ps1

Cela démarre comme prévu, mais s'arrête après quelques secondes.

Essayez 2: Exécutez la commande suivante comme "Exécuter la commande par lots de Windows"

powershell -NoExit -File c:\scripts\script.ps1

Cela exécute l'ensemble du script avec succès, mais cela ne s'arrête jamais. J'ai dû abandonner manuellement le script.

24
Danish

Eh bien, il y a un plugin PowerShell , qui enveloppe le Shell de toute façon. J'utilise ceci sur mon serveur, exécutant des scripts en notation standard:

powershell -File test001.ps1

Cela fonctionne sans bizarreries.

29
Łukasz Rżanek

J'ai trouvé que le problème venait de PowerShell gérant la stratégie d'exécution séparément pour les versions 32 bits et 64 bits. Checkout http://www.gregorystrike.com/2011/01/27/how-to-tell-if-powershell-is-32-bit-or-64-bit/ pour essayer de lancer les deux . Courir Get-ExecutionPolicy dans les deux et vous verrez qu'ils sont différents.

Au moins avec la version 1.4, il semble que le plugin utilise le processus 32 bits.

7
Adam Hewitt