2010-01-12 3 views
3

Je travaille sur un projet en utilisant repo pour contrôler plus d'une centaine de dépôts git et Hudson en tant que serveur d'intégration continue. La structure du fichier du projet est comme:Comment utiliser repo comme référentiel sur Hudson

./.repo 
./a/.git 
./b/.git 
./b/c/.git 
./b/c/d/.git 
... more than a hundred gits 

L'ensemble du projet doit être construit ensemble, en d'autres termes, chaque dépôt git ne peut pas être construit séparément. Est-il possible d'utiliser Hudson travail avec repo qui gère un grand nombre de git?

+2

Le problème est donc de construire une chaîne de dépendance profonde? Pourriez-vous décrire la tâche plus en détail, cela vous aidera à comprendre ce que les fonctionnalités de Hudson peuvent vous aider. –

+0

Le projet est composé de centaines de sous-modules gérés par un dépôt git respectivement, et tous les dépôts git sont contrôlés par un seul repo. La structure de la source est similaire à la source du projet Android. (Source.android.com/download/using-repo, pour votre référence) Voici la situation que j'ai: J'ai essayé de créer un travail en amont dans Hudson pour exécuter la commande repo pour obtenir code à partir de SCM, puis passez à un travail en aval en utilisant le système de fichiers comme référentiel SCM. Toutefois, un problème se produit lors de l'utilisation de certaines fonctionnalités d'Hudson, telles que la génération d'interrogation SCM. – papalagi

+1

Il est vraiment difficile de comprendre ce que signifie "un problème". Je pense que vous devez réécrire la question originale, mais fournir beaucoup plus de détails. Décrivez les emplois et comment ils sont disposés. Décrivez le problème que vous rencontrez. Décrivez ce que vous essayez d'accomplir. –

Répondre

1

La création d'un projet de niveau supérieur «coordinateur» entièrement composé de Git submodules pointant vers les sous-projets peut être une solution acceptable. Ensuite, les commandes git invoquées par Hudson, y compris le clonage, la validation et l'étiquetage, peuvent être effectuées à partir du projet principal.

+0

C'est vraiment comment ce projet aurait dû être créé en premier lieu. Les sous-modules prennent en charge l'imbrication des référentiels git. Vous ne devriez jamais imbriquer des dépôts git en utilisant 'repo', et il est tout à fait clair que le projet Android a fait tout son possible pour s'assurer que c'est ainsi. – onionjake

Questions connexes