2009-07-15 6 views
0

Je rencontre ce que j'espère être un problème simple. Cependant, il m'a été perplexe toute la journée.Cygwin Cruisecontrol ne peut pas exécuter de commandes

Je travaille avec cruisecontrol dans Windows, en cours d'installation via Cygwin. J'ai une certaine expérience de CC dans la plate-forme Linux et une grande partie de ce que je fais est très similaire. Cependant, la plupart des commandes que j'essaie d'exécuter dans la section Schedule du fichier config.xml donnent une erreur.

est ici l'exception:

ExecBuilder - Could not execute command: /cygdrive/d/Program\ Files/Subversion/bin/svn 
net.sourceforge.cruisecontrol.CruiseControlException: Encountered an IO exception while attempting to execute '[email protected]'. CruiseControl cannot continue. 
at net.sourceforge.cruisecontrol.builders.ScriptRunner.runScript(ScriptRunner.java:133) 

Voici quelques exemples de commandes que j'ai essayé de courir qui donnent à ce type d'erreur.

<exec command="${CCLoc}/projects/${project.name}/IOSdllScript"/> 

- Exécute un script que j'ai testé en dehors du fichier cruisecontrol.bat et qui s'exécute. Comprend #!/Bin/sh la première ligne

<exec command="${CCLoc}/projects/${project.name}/EmptyFile"/> 

-essentiellement un fichier texte vide, ce qui prouve que le problème n'a rien à voir avec mon script.

<exec command="/cygdrive/d/Program\ Files/Subversion/bin/svn" args="cleanup" workingdir="${svndir}"/> 

-Trys nettoyage svn sur un répertoire. J'ai vérifié le cheminement et l'orthographe.

Une commande que j'ai testée a fonctionné et n'a pas donné cette erreur. Cette commande était tactile. Je ne suis pas sûr pourquoi seul le toucher semble fonctionner et rien d'autre fait.

+0

Je suppose que vous avez vérifié 10 fois que le chemin de svn est correct à 100% et que vous êtes capable d'exécuter la ligne de commande svn from cygwin, non? –

Répondre

0

Re: Commentaire de GrzegorzOledzki:

Correct, mais vous m'a donné une idée qui a fini par aider ce, bien que son loin de la solution idéale. J'ai remarqué que toutes les commandes qui échouent utilisent des chemins et que la commande qui fonctionne ne fonctionne pas. J'ai essayé quelques autres choses avec ceci en tête.

choses qui fonctionnent:

<exec command="touch" workingdir="projects" args="ABC.txt"/> 
<exec command="svn" args="cleanup" workingdir="${svndir}/Iosdll"/> 

Ces chemins doivent être relatifs pas absolue FYI :(

choses qui ne fonctionne toujours pas:

essayes d'exécuter mon script en utilisant ce format (même erreur)

Essayer d'exécuter un script qui ne fonctionne pas existe (même erreur !!!)

exécution multiple commande exec ... comme un programme de haut en bas (ne fonctionne que premier)

Apparemment, cette exception ExecScript IO est une sorte de générique ne peut pas exécutez l'erreur de commande. Messing around avec commande = "chemin/script" ou commande = "script" workingdir = "chemin" n'a donné aucun résultat. Je suis donc allé dans/etc/profile (l'équivalent bash_profile de cygwin) et j'ai ajouté le chemin de mon script à PATH. Maintenant ce genre de travaux.Éditer: Semble mieux fonctionner en tant que fichier séquentiel que comme script lorsque vous passez par Cygwin.

Je voudrais toujours savoir comment le faire de la "bonne" manière, IE sans avoir à changer la variable PATH de cygwin.

Questions connexes