J'ai un grand référentiel dans Git. Comment créer un travail dans Jenkins qui extrait un seul sous-dossier du projet?
Jenkins Git Plugin support checkouts clairsemés depuis git-plugin 2.1.0 (avril 2014). Vous aurez besoin de git> = 1.7.0 pour cette fonctionnalité. Il se trouve sous "Comportements supplémentaires" -> "Chemins de paiement clairsemés".
Voir: Problème Jira JENKINS-21809
Vous pouvez utiliser caisse clairsemée fonction de Git. Notez que Git clone toujours le référentiel entier sur le disque local. Ce n'est pas trop mal cependant, car il est compressé.
Ouvrez Git Shell pour le dossier de l'espace de travail du projet. Activer la récupération clairsemée:
git config core.sparsecheckout true
Mettre à jour l'arbre de travail:
git read-tree -mu HEAD
Créer sparse-checkout
fichier dans le dossier .git/info. Ajoutez le chemin d'accès au sous-dossier que vous souhaitez extraire de ce fichier, comme ceci (notez la barre oblique de fin):
folder/to/include/
Générez à nouveau le projet. Cette fois, un seul sous-dossier doit apparaître dans le dossier de l'espace de travail.
Vous pourriez avoir une étape personnalisée qui utiliserait simplement
git checkout your-branch -- the/desired/path anthother/desired/path
Pour l'effacer, vous pouvez simplement rm -rf
le dossier de travail et recréez-le avec mkdir workingdir
. Cela vous obligerait à spécifier cette option au niveau git de la commande ci-dessus:
git --working-dir="/path/to/workingdir" checkout your-branch -- the/desired/path anthother/desired/path
Tout cela dépend de votre connaissance de Jenkins.