J'ai intégré Jenkins à Bitbucket en utilisant le plugin Bitbucket . Selon le Wiki du plugin, un travail donné sera déclenché si le référentiel est défini dans le SCM du travail. Comme vous le savez, si un SCM est défini dans un travail Jenkins, il est cloné au stade de la pré-génération.
Jusqu'ici tout va bien. Cependant, l'objectif principal du travail que je définis n'a rien à voir avec le contenu du référentiel; au lieu de cela, je veux juste que le travail traite la charge utile envoyée par Bitbucket. On pourrait dire que ce n'est pas un gros problème en termes de stockage de cloner un référentiel même si vous n'en avez vraiment pas besoin. Je ne pense pas, ajouter des étapes inutiles, consommer du temps et des ressources n'est pas une bonne pratique.
Donc, la question est: Quelqu'un sait-il comment définir un SCM dans un travail Jenkins mais l'empêcher de cloner le référentiel?
Réponses:
Oui définitivement. Je fais ça tout le temps. Vous pouvez spécifier des options de configuration pour votre pipeline et l'une d'entre elles le fait
skipDefaultCheckout
, ce qui fait que le pipeline ignore l'étape par défaut "Déclaratif: Checkout SCM".L'
skipDefaultCheckout
option est documentée dans Pipeline Syntax et voici un exemple Jenkinsfile montrant comment l'utiliser:la source
checkout scm
pour cloner manuellement où vous en avez besoin. voir devops.stackexchange.com/a/1916/2450 .Si vous n'utilisez pas le pipeline déclaratif, vous pouvez éviter de retirer de SCM en:
la source
Je pense que ce que vous voulez réaliser, c'est traiter une charge utile de webhook dans un travail Jenkins. L'utilisation du plugin bitbucket ne sera pas nécessaire et il est probablement fortement conçu pour cloner le dépôt.
Je crois que cette réponse stackoverflow pourrait vous aider.
la source