Voici le code que je veux lancer avec Jenkins:
start cmd.exe /k "node "C:\Program Files\Appium\node_modules\appium\bin\appium.js" -a 127.0.0.1 -p 4723"
ping 127.0.0.1 -n 30 > nul
C:\path\NUnit-2.6.4\NUnit-2.6.4\bin\nunit-console.exe C:\path\NUnit-2.6.4\NUnit-2.6.4\bin\apk\UnitTestProject1.dll
C'est l'erreur que j'obtiens chaque fois que j'essaie de mettre une pause:
"ERROR: Input redirection is not supported, exiting the process immediately."
Même erreur avec timeout /T 60
et sleep 60
Selon cet article , le délai d'attente ne fonctionne pas dans les scripts non interactifs.
Comment puis-je ajouter une pause dans ma situation?
Edit pour Will Ryan:
J'essaye ceci:
La compilation a fonctionné, mais la durée du test n’est que de 0,5 seconde, la pause ne fait rien.
La sortie de la console est:
C:\Program Files\Jenkins\jobs\ZFAIL\workspace>echo "--"
"--"
C:\Program Files\Jenkins\jobs\ZFAIL\workspace>PING 1.1.1.1 -n 1 -w 30000 1>NUL
C:\Program Files\Jenkins\jobs\ZFAIL\workspace>echo "++"
"++"
C:\Program Files\Jenkins\jobs\ZFAIL\workspace>exit 0
Finished: SUCCESS
Je pense que vous pouvez utiliser la commande suivante dans la commande d'exécution par lots de Windows (attendra 100 secondes):
waitfor SomethingThatIsNeverHappening /t 100
Cela retournera une erreur qui pourrait casser votre construction. Pour éviter cela, redirigez la sortie d'erreur:
waitfor SomethingThatIsNeverHappening /t 100 2>NUL
Vous pouvez utiliser ceci:
PING 1.1.1.1 -n 1 -w 30000 >NUL
Cela envoie une tentative de ping et attend 30 secondes pour une réponse. Vous ne savez pas pourquoi vous obtenez le message "ERREUR: la redirection d'entrée n'est pas prise en charge, si vous quittez le processus immédiatement" message mais j'utilise activement la commande ci-dessus régulièrement.
Si vous souhaitez supprimer le message d'erreur de la réponse de Yauheni Basalai, essayez d'envoyer le message stderr à la sortie standard en ajoutant> nul 2> & 1
waitfor SomethingThatIsNeverHappening /t 100 >nul 2>&1
le crédit va à http://brisray.com/computers/batch-delay.htm
J'ai rencontré un problème similaire avec l'utilitaire "ligne de commande" de VSTS (v 2. *) qui utilise le shell cmd, et j'ai utilisé les éléments suivants (à partir d'une session PowerShell surélevée):
Add-Content c:\windows\sleep.cmd "call powershell -NoProfile -ExecutionPolicy ByPass -command sleep %1"