He integrado Jenkins con Bitbucket usando el complemento Bitbucket . Según la Wiki del complemento, un trabajo determinado se activará si el repositorio se establece en el SCM del trabajo. Como sabe, si uno configura SCM en un trabajo de Jenkins, esto se clona en la etapa previa a la compilación.
Hasta aquí todo bien. Sin embargo, el propósito principal del trabajo que estoy estableciendo no tiene nada que ver con el contenido del repositorio; en cambio, solo quiero que el trabajo procese la carga útil enviada por Bitbucket. Se podría decir que no es un gran problema en términos de almacenamiento clonar un repositorio a pesar de que realmente no lo necesita. No lo creo, agregar pasos innecesarios, consumir tiempo y recursos no es una buena práctica.
Entonces, la pregunta es: ¿Alguien sabe cómo configurar un SCM en un trabajo de Jenkins pero evita que clone el repositorio?
Respuestas:
Sí definitivamente. Hago esto todo el tiempo. Puede especificar las opciones de configuración para su canalización y una de ellas es la
skipDefaultCheckout
que hace que la canalización omita la etapa predeterminada "Declarativo: Pago y envío SCM".La
skipDefaultCheckout
opción está documentada en Sintaxis de canalización y aquí hay un ejemplo de Jenkinsfile que muestra cómo usarla:fuente
checkout scm
para clonar manualmente donde lo necesite. ver devops.stackexchange.com/a/1916/2450 .En caso de que no esté utilizando la canalización declarativa, puede evitar el pago desde SCM:
fuente
Creo que lo que quieres lograr es procesar una carga útil de webhook en un trabajo de Jenkins. El uso del complemento bitbucket no será necesario y probablemente esté fuertemente diseñado para clonar el repositorio.
Creo que esta respuesta de stackoverflow podría ayudarte.
fuente