2011-02-15 5 views
2

J'espère que vous pouvez m'aider. mon problème est le suivant: J'ai 2 projets qui dépendent l'un de l'autre chacun d'eux dans différents svn root. Ce que je fais toady est construire le premier, prendre son artefact et le copier manuellement à l'endroit où je veux dans le deuxième projet et que d'exécuter la deuxième construction. Je veux être en mesure d'exécuter 1 build il peut être soit avec un nouveau fichier build.xml ant qui va exécuter la première version, copier son produit à l'endroit où je le veux et qui exécutera la deuxième version.teamcity ant multuple projet construire

deuxième option exécute ces deux projets avec dépendance dans teamcity. Je ne suis pas sûr de savoir comment faire et comment passer le premier artefact de projet à placer dans le bon dossier dont j'ai besoin dans le second projet. Peut-être que quelqu'un sait comment faire cela.

merci.

Répondre

2

Les dépendances d'artefacts de TeamCity semblent être la meilleure option.
Supposons que vous ayez ProjectA et ProjectB:

  1. Configurer TeamCity pour publier des fichiers de ProjectA:

    • Ouvrir étape de configuration General Settings de ProjectA.
    • Remplissez le champ Artifact paths avec les chemins relatifs aux fichiers publiés. TeamCity collectera ces fichiers après la fin de la construction.
    • Générez ProjectA pour vous assurer que les artefacts sont correctement collectés. Les artefacts doivent être disponibles sur la page de résultats de construction (voir l'onglet Artefacts).
    • Voir documentation for artifacts pour plus de détails

  2. Configurer de dépendance artefact pour ProjectB:

    • Ouvrir Dependencies étape de configuration de ProjectB, ajouter une nouvelle dépendance à l'artefact
    • Depend on - sélectionnez ProjectA
    • Get artifacts from: - utilisez ce dont vous avez besoin . Probablement, dernière construction réussie.
    • Artifacts - entrez les chemins d'artefacts de ProjectA. Vous pouvez utiliser le menu contextuel pour choisir les artefacts avec l'interface utilisateur.
    • Destination path - entrez le chemin de destination, où les artefacts seront copiés. Chemin est relatif au répertoire de la caisse
    • Voir documentation for artifact dependencies pour plus de détails

Maintenant, chaque fois que vous commencez à construire pour ProjectB, il va télécharger des artefacts de construction réussie dernier ProjectA.
Si vous souhaitez que ces versions démarrent simultanément, ajoutez Snapshot dependency (sur ProjectA) à ProjectB. Avec la dépendance de snapshot, chaque fois que vous démarrez ProjectB, il déclenche tout d'abord ProjectA, attendez que la construction de ProjectA se termine et (si la dépendance de l'artefact sur la "dernière version réussie" de ProjectA) télécharge de nouveaux artefacts.

Questions connexes