Saltar al contenido

Escaneo de canalización de múltiples ramas de Jenkins sin ejecución

Solución:

En tus Fuentes de rama sección, puede agregar una propiedad denominada Suprimir la activación automática de SCM.

Esto evita que Jenkins construya todo con un Jenkinsfile.

Además, puedes hacerlo programáticamente

import jenkins.branch.*
import jenkins.model.Jenkins


for (f in Jenkins.instance.getAllItems(jenkins.branch.MultiBranchProject.class)) {
  if (f.parent instanceof jenkins.branch.OrganizationFolder) {
    continue;
  }
  for (s in f.sources) {
    def prop = new jenkins.branch.NoTriggerBranchProperty();
    def propList = [prop] as jenkins.branch.BranchProperty[];
    def strategy = new jenkins.branch.DefaultBranchPropertyStrategy(propList);
    s.setStrategy(strategy);
  }

  f.computation.run()
}

Este es un fragmento de Groovy que puede ejecutar en Jenkins, hará el escaneo pero no iniciará nuevas “compilaciones” para todas las ramas descubiertas.

Para agregar a la respuesta de @ Stqs, también puede configurar noTriggerBranchProperty utilizando el complemento Job DSL, por ejemplo:

multibranchPipelineJob('example') {
  ...
  branchSources {
    branchSource {
      ...
      strategy {
        defaultBranchPropertyStrategy {
          props {
            // Suppresses the normal SCM commit trigger coming from branch indexing
            noTriggerBranchProperty()
            ...
          }
        }
      }
    }
  }
  ...
}
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *