Jenkins, Git éparses extractions
J'ai un grand dépôt Git. Comment puis-je créer un travail de Jenkins, qui vérifie juste un sous-dossier du projet?
- Est-il vraiment nécessaire d'ajouter que la complexité? Une fois le référentiel est cloné pour la première fois, git sera juste tirer de nouveaux objets. À moins que votre serveur jenkins a pas suffisamment de stockage, je venais de cloner le tout et d'éviter toute complexité supplémentaire.
- Oui, parce que dans un de CI/CD de l'environnement, de vos esclaves ou Jenkins serveurs vont et viennent de la demande et de la charge...si persistant disque n'est pas là. La dépendance sur la persistance est une valeur de moins de répétabilité dans de nombreux cercles DevOps
Vous devez vous connecter pour publier un commentaire.
Jenkins, Git Plugin soutien éparses extractions depuis git-plugin 2.1.0 (avril 2014). Vous aurez besoin de git >= 1.7.0 pour cette fonction. Il est sous "autres Comportements" -> "Sparse Checkout chemins."
Voir: Jira question JENKINS-21809
/B/
pour B de répertoire. @OK999: Essayez de barre Oblique inverse\
avant l'espace ou un caractère spécial dans le nom de fichier ou dossier. Exemple:/Path/To/My Folder
sera comme/Path/To/My\ Folder
ou essayer de passer chemin d'accès entre guillemets "/Chemin/Vers/Mon Dossier".Vous pouvez utiliser sparse checkout fonction de Git. Notez que Git encore des clones de dépôt entier sur le disque local. Ce n'est pas trop mauvais, cependant, car il est compressé.
Ouvrir Git-shell pour projet de dossier d'espace de travail. Permettre à de rares-paiement:
Mise à jour de travail de l'arbre:
Créer
sparse-checkout
fichier .git/info dossier. Ajouter le chemin du sous-dossier que vous voulez extraire de ce fichier, comme ceci (note slash):Construire le projet de nouveau. Cette fois, un seul sous-dossier doit apparaître dans le dossier workspace.
Vous pourriez avoir une étape personnalisée qui il suffit d'utiliser
Pour la désactiver, vous pourriez juste
rm -rf
le dossier de travail et de le recréer avecmkdir workingdir
. Il faudrait que vous spécifiez cette option sur le git niveau de la commande ci-dessus:Tout cela dépend de comment vous le savez Jenkins.