Auparavant, Jenkins lançait un script de génération perl qui, à un moment donné du script, ouvrait un fichier .bat qui lançait notre Emplois ANT. J'essaie de consolider et de se débarrasser des fichiers .bat et lancer ANT directement à partir du script Perl. J'ai réussi à le faire, mais le problème est que le fichier .properties que le script ANT a examiné pour ses variables n'est plus importé correctement comme c'était le cas lorsque le fichier .bat a lancé le script ANT.Jenkins lance un script Perl qui contient ANT, mais ANT ne peut pas lire un fichier .properties
Actuellement, je suis juste appelé un "Exec (" ant-buildfile C: \ projet \ buildfile.xml ") et cela déclenche la fourmi, mais il revient avec une erreur," Impossible de trouver $ {script. Le fichier "script.dir" est défini dans un fichier .properties situé dans le même répertoire que les fichiers de construction, ce qui fonctionne parfaitement lorsqu'il est lancé par le fichier .bat, mais il échoue chaque fois que il est appelé par Perl.Pour quelle raison? Ou mieux encore, comment le résoudre?
J'ai également essayé de le forcer à charger le fichier de propriétés en lançant. "Exec (" ant -buildfile C: \ projet \ buildfile. xml -Dpropertyfile = C: \ projet \ build.properties ")" et recevoir la même erreur
Edit: Ce est the.bat fichier
set project.name=%1
set environment=%2
set version.tag=%3
set build.list=%4
set JAVA_HOME=C:\ProgramFiles\IBM\jdk
set ANT_HOME=C:\ProgramFiles\IBM\IMShared\plugins\org.apache.ant_1.7.1.v20100518-1145
set PATH=C:\Program Files (x86)\IBM\IMShared\plugins\org.apache.ant_1.7.1.v20100518-1145\bin
CALL ant -buildfile C:\scripts\build_service.xml
script Perl:
system("set project.name=$project");
system("set environment=$environment");
system("set version.tag=$version");
system("set build.list=$service");
system("set JAVA_HOME=C:\ProgramFiles\IBM\jdk");
system("set ANT_HOME=C:\ProgramFiles\IBM\IMShared\plugins\org.apache.ant_1.7.1.v20100518-1145");
system("set PATH=C:\Program Files (x86)\IBM\IMShared\plugins\org.apache.ant_1.7.1.v20100518-1145\bin");
exec("CALL ant -buildfile C:\\scripts\\build_service.xml
Pourquoi appelles-tu ant du script perl? Jenkins a un [Plugin] (https://wiki.jenkins-ci.org/display/JENKINS/Ant+Plugin), qui ajoute le support Ant. Si votre script génère ou modifie le fichier de construction, vous devez simplement définir deux actions dans votre configuration. Un pour le script Perl et après celui pour la construction Ant. – Demnogonis
Cela pourrait être la meilleure route à prendre. J'essaie de consolider et d'avoir tout au même endroit, mais si je ne peux pas le faire fonctionner correctement dans PERL c'est probablement la meilleure option. – Heuristic