Exécuter windows commande de traitement par lots à partir de Jenkins échoue, mais fonctionne très bien dans cmd.exe
Je suis en train de lancer cette commande dans jenkins après un MSbuild
xcopy "C:\Program Files (x86)\Jenkins\workspace\trunk\Projects\results\results\obj\Debug\Package\PackageTmp" "Y:\Extraction_Zone\Jenkins\" /E
Y: est un lecteur réseau mappé. Cela fonctionne très bien dans cmd.exe mais lorsque j'essaie de l'exécuter dans Jenkins, j'obtiens l'erreur Invalid drive specification
.
Voici le résultat de jenkins:
Time Elapsed 00:00:04.03
[trunk] $ cmd /c call C:\Windows\TEMP\hudson3389873107474371072.bat
C:\Program Files (x86)\Jenkins\workspace\trunk>xcopy "C:\Program Files (x86)\Jenkins\workspace\trunk\Projects\results\results\obj\Debug\Package\PackageTmp" "Y:\Extraction_Zone\Jenkins\" /E
Invalid drive specification
0 File(s) copied
C:\Program Files (x86)\Jenkins\workspace\trunk>exit 4
Build step 'Execute Windows batch command' marked build as failure
Finished: FAILURE
Toute aide serait appréciée.
n'est-ce pas jenkins exécute en tant que service ? Si c'est vrai, vous devez résoudre votre émetteur en spécifiant le chemin d'accès réseau à la place du lecteur mappé
Y: est probablement associés à un utilisateur spécifique. Jenkins probablement s'exécute sous sa propre "compte de service" n'ayant pas accès à cette lettre de lecteur Y:? Vous pouvez essayer d'utiliser passage UNC au lieu de Y:, c'est à dire "\\Serveur\Dossier\Extraction_zone\Jenkins\"
Merci pour les réponses. J'ai essayé ceci, mais je suis l'obtention de l'accès est refusé:
J'ai réalisé, j'ai oublié l' \Jenkins partie du chemin, mais toujours obtenir la spécification de lecteur non Valide erreur:
Avez-vous résoudre ce problème? Je rencontre quelque chose de similaire (Jenkins, le comportement diffère de la ligne de commande)
Y: est probablement associés à un utilisateur spécifique. Jenkins probablement s'exécute sous sa propre "compte de service" n'ayant pas accès à cette lettre de lecteur Y:? Vous pouvez essayer d'utiliser passage UNC au lieu de Y:, c'est à dire "\\Serveur\Dossier\Extraction_zone\Jenkins\"
Merci pour les réponses. J'ai essayé ceci, mais je suis l'obtention de l'accès est refusé:
Time Elapsed 00:00:03.70 [trunk] $ cmd /c call C:\Windows\TEMP\hudson7535872922876977589.bat C:\Program Files (x86)\Jenkins\workspace\trunk>xcopy "C:\Program Files (x86)\Jenkins\workspace\trunk\Projects\results\results\obj\Debug\Package\PackageTmp" "\\COMP-NAME\Webs\Extraction_Zone" /E Access denied Unable to create directory - \\COMP-NAME\Webs\Extraction_Zone 0 File(s) copied C:\Program Files (x86)\Jenkins\workspace\trunk>exit 4 Build step 'Execute Windows batch command' marked build as failure Finished: FAILURE
J'ai réalisé, j'ai oublié l' \Jenkins partie du chemin, mais toujours obtenir la spécification de lecteur non Valide erreur:
C:\Program Files (x86)\Jenkins\workspace\trunk>xcopy "C:\Program Files (x86)\Jenkins\workspace\trunk\Projects\results\results\obj\Debug\Package\PackageTmp" "\\COMP-NAME\Webs\Extraction_Zone\Jenkins\" /E Invalid drive specification
Avez-vous résoudre ce problème? Je rencontre quelque chose de similaire (Jenkins, le comportement diffère de la ligne de commande)
OriginalL'auteur Chris | 2012-06-08
Vous devez vous connecter pour publier un commentaire.
Moi aussi j'avais un problème similaire une fois. Essayez l'octroi de l'Jenkins service "ouverture de session avec Ce compte" à droite sous
services.msc
et assurez-vous que le compte que vous tapez, il est le même que celui que vous utilisez pour la coursecmd.exe
.Je suis en cours d'exécution de mon travail de la machine et j'ai eu ce même problème. J'ai fait comme @adarshr proposé et utilisé Ce Compte et Parcourir... puis leva les yeux de mon corprate AD informations de compte et mot de passe. A travaillé comme un charme!
j'ai eu un problème avec cela: après la modification de l'utilisateur du service de démarrer et arrêter. consultez l'observateur d'événements pour plus d'info. dans mon cas, mon utilisateur n'a pas accès à C:\program files\jenkins
Si vous êtes arrivé ici via GIT options ne fonctionne pas dans le lot, mais le fait de travailler dans cmd.exe : issues.jenkins-ci.org/browse/JENKINS-34082
OriginalL'auteur adarshr
Ces commandes basées sur Java JAR fichiers fonctionné pour moi:
cmd
net use x: \\
xcopy "dist\" x:\ /Y
Et c'est tout! J'ai passé beaucoup de temps à comprendre ce problème et rien n'a fonctionné jusqu'à ce que j'ai écrit CMD et de l'UTILISATION des moustiquaires!
Ni je n'ai pas besoin de l'autorisation de modification sur jenkins service ni utiliser la commande runas.
Mais je me dois de mentionner que tout le monde a accès en lecture et écriture sur le lecteur réseau.
net use x: \\yournetworkshare\foldername
Ce fixe mes scripts Python ainsi qu'ont été la tentative d'écriture dans un emplacement réseau. Modification/mise à jour le Journal de l'utilisateur n'a pas à faire le truc...
OriginalL'auteur Jiří
J'ai eu le même problème avec mon Windows Tâche en cours d'exécution d'un fichier de commandes (je sais, c'est pas exactement le même) où j'ai essayé de copier le fichier à un emplacement réseau c'est à dire lecteur partagé. J'ai utilisé le chemin d'accès UNC et lecteur mappé en tant que bien, mais l'erreur a été de même. Pour moi, c'était le numéro de l'erreur 4 MS DOS code d'erreur.
La solution a été d'utiliser net use commande! Espérons que cela aide.
OriginalL'auteur user3104116
Solution facile pour la plupart des choses.
🙂
OriginalL'auteur James Stevenson
La solution de adarshr (c'est à dire, de modifier les références de connexion du service) qui a fonctionné pour moi pour une partie du problème: dans mon cas, cela m'a permis de réussir découvrez un dépôt mercurial (en utilisant le protocole ssh), je ne pouvais pas le faire en utilisant le compte Système Local'.
Cependant, j'ai encore la différence de comportement entre l'exécution d'un script en ligne de commande ou l'exécution de la même script à partir d'un jenkins exécuter shell' script dans la construction de la section. Dans mon cas, j'ai compiler une extension Python. Dans Jenkins, je ne peut pas importer de l'extension (je ne vois pas d'erreur, mais l'exécution s'arrête tout simplement, donc je pense que ça plante).
Si je désinstalle le service et l'exécuter l'esclave de l'agent en tant que Java Web Start, je ne reçois pas le même comportement. C'est une solution temporaire pour moi, mais ça veut dire que quand je redémarre windows machine de compilation, j'ai manuellement re-démarrer l'application Java Web Start.
Donc -au moins dans mon cas c'est clair que c'est un problème d'identification.
Les informations d'identification de l'utilisation de la documentation: https://wiki.jenkins-ci.org/display/JENKINS/Jenkins+CLI
OriginalL'auteur mfiers
J'ai résolu mon problème avec le CIFS plugin.
OriginalL'auteur swist
Étaient confrontés au même problème et a trouvé deux façons de le résoudre.
De Type 1:
Dire Jenkins sur un lecteur mappé.
1.Goto -> Gérer Jenkins -> Script Console (Groovy Script).
2.Exécuter commande ci-dessous
Type:2
1.Goto -> cmd -> exécuter "net use" pour connaître l'adresse réseau
Conclusion:- je préfère la 2ème types comme après chaque redémarrage je dois exécuter le Script Groovy.
OriginalL'auteur LearNer