Bâtiment dépendant de projets à l'aide de Jenkins

Permet de dire que j'ai 3 ANT projets, chacun avec sa build.xml script situé dans le dossier de niveau supérieur

proj1
 file1.java
proj2
 file2.java
proj3
 file3.java

J'ai configuré Jenkins pour la construction de ces 3 projets, et elle les fabrique et stocke le résultat dans trois dossiers distincts.

/output/proj1/2012-02-28_20-11-06/proj1/distribution/proj1.jar
/output/proj2/2012-02-28_20-11-08/proj2/distribution/proj2.jar
/output/proj3/2012-02-28_20-11-09/proj3/distribution/proj3.jar

Le script ANT est celui qui met le fichier jar dans le dossier de distribution. Je veux utiliser ces fichiers jar dans un autre projet qui produit un fichier war.

Les fichiers jar sont générés dans chaque projet sont utilisés pour générer un fichier WAR. Est-il possible que je peux configurer Jenkins pour construire proj1, proj2, proj3 puis copiez les fichiers jar à un endroit précis, ce qui permettra de contenir un autre projet ANT qui lorsqu'il est exécuté produira un fichier war? Ou est-ce que avez à être codées avec ANT?

Aussi, est-il possible de configurer jenkins pour faire des extractions multiples avant d'exécuter le script ANT. Je suis en utilisant CVS et voudraient faire 3 extractions de chacun à l'aide d'une autre balise avant de lancer la compilation.

Modifier

J'ai posté la question de la nuit dernière avant d'aller me coucher. La lecture de nouveau aujourd'hui, je pense que c'est pas assez clair, donc je vais clarifier l'exigence de nouveau. J'ai 4 projets qui utilisent ANT que la génération mécanisme et sont tous stockés dans un référentiel CVS. Tous les 4 projets de lors de construit la forme d'un fichier WAR qui est déployé sur un serveur d'application Tomcat.

proj1
 - file1.java
 - file2.java

proj2
 - file3.java
 - file4.java

proj3
 - file3.java
 - file4.java

proj4
  - jsp
    - home.jsp
 - css
    - home.css
  - WEB-INF
     - lib
     - classes 
    - web.xml

Chaque projet (à l'exception de proj4) a un fichier ANT qui construit le projet et produit un fichier JAR qui il les stocke dans un "distribution", dossier dans le dossier racine du projet. Par exemple, après proj1 est construit, il ressemblera à ceci

proj1
 - file1.java
 - file2.java
 - distribution
      - classes
           - file1.class
           - file2.class
      - proj1.jar

Proj4 a une dépendance sur proj1, proj2 et proj3 en ce qu'il a d'abord besoin de copier tous les fichiers jar dans son workarea avant il génère un fichier war. Le fichier ANT pour projet4 copie les fichiers JAR de proj1, 2 et 3, et construit une GUERRE des fichiers. L'résultant de la GUERRE de fichier contient la structure suivante

proj4
  - jsp
    - home.jsp
 - css
    - home.css
  - WEB-INF
    - lib
       - proj1.jar
       - proj2.jar
       - proj3.jar
    - classes 
    - web.xml  

Maintenant d'automatiser le plus haut, j'ai besoin de quelque sorte configurer Jenkins et ANT pour effectuer les opérations suivantes (dans l'ordre indiqué)

- Checkout proj1 from CVS using RELEASE1.1 tag
- Build proj1

- Checkout proj2 from CVS using RELEASE1.2 tag
- Build proj2

- Checkout proj3 from CVS using RELEASE1.1 tag
- Build proj3

- Checkout proj4 from CVS using RELEASE1.1 tag
- Copy the proj1.jar, proj2.jar, proj3.jar from the previous 3 builds and copy them to the proj4 WEB-INF/lib folder.
- Build proj4
- Deploy the WAR file. 

J'ai joué un peu avec Jenkins hier et a réussi à le configurer pour créer chacun des projets, mais chaque fichier jar se termine dans un autre dossier. Comment puis-je configurer Jenkins pour construire les projets que j'ai décrit ci-dessus?

L'environnement a les propriétés suivantes

Build tool - ANT
OS - Solaris

Maven serait probablement travailler avec cela, mais pour le moment il n'y a pas de plans pour introduire Maven. Si il ya un moyen simple de Maven comme outil de construction que je peux utiliser pour enregistrer les bibliothèques, j'ai besoin de ne pas exiger l'accès externe alors s'il vous plaît laissez-moi savoir.

Merci d'avance.

OriginalL'auteur ziggy | 2012-02-28