El gasoducto de Jenkins construye trabajos en el empuje de Gitlab

Actualmente estoy implementando CI en mis proyectos:

  • El código está alojado en un server GitLab personalizado
  • Jenkins debe manejar la construcción de proyectos
  • Cada proyecto se basará en cada request de inserción y fusión

Los parameters de GitLab están configurados dentro de Jenkins, y un trabajo de construcción simple funciona (a través de los ganchos de GitLab) cuando presiono algunos commits. Toda la configuration se ha realizado de acuerdo con la documentation del plugin jenkins de GitLab .

Mis proyectos necesitan build tanto en sistemas Linux como en Windows, que requieren entonces 2 trabajos para ejecutarse en cada inserción. Para get una salida de CI más clara en GitLab, quiero crear una tubería que ejecute los trabajos.

El problema es que, una vez que se ha activado la interconnection, las comstackciones fallan en los trabajos con el siguiente post:

git rev-parse refs / remotes / origin / $ {gitlabSourceBranch} ^ {commit} # timeout = 10
git rev-parse refs / remotes / origin / origin / $ {gitlabSourceBranch} ^ {commit} # timeout = 10
git rev-parse origin / $ {gitlabSourceBranch} ^ {commit} # timeout = 10
ERROR: no se pudo encontrar ninguna revisión para comstackr. Verifique la configuration de repository y bifurcación para este trabajo.

Ambos trabajos tienen los mismos parameters de Git, que se describen en la documentation del complemento:

  • Refspec: +refs/heads/*:refs/remotes/origin/* refs +refs/heads/*:refs/remotes/origin/*
  • Branch Specifier (en blanco para 'any'): origin/${gitlabSourceBranch}

La configuration de la tubería es la siguiente:

 node() { gitlabBuilds(builds: ["build", "test"]) { stage "build" gitlabCommitStatus("build") { build job :'Application build' } stage "test" gitlabCommitStatus("test") { build job :'Application test' } } } 

Espero que puedas ayudar! Gracias.