Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

386
Vistas
Canalización de Jenkins como código con error de Docker

Para uno de mis proyectos que tengo en GitHub, quería construirlo como una imagen acoplable y enviarlo a mi concentrador acoplable. El proyecto es un sbt con una base de código Scala.

Así es como se define mi JenkinsFile:

 #!groovy node { // set this in Jenkins server under Manage Jenkins > Credentials > System > Global Credentials docker.withRegistry('https://hub.docker.com/', 'joesan-docker-hub-credentials') { git credentialsId: '630bd271-01e7-48c3-bc5f-5df059c1abb8', url: 'https://github.com/joesan/monix-samples.git' sh "git rev-parse HEAD > .git/commit-id" def commit_id = readFile('.git/commit-id').trim() println comit_id stage "build" { def app = docker.build "Monix-Sample" } stage "publish" { app.push 'master' app.push "${commit_id}" } } }

Cuando traté de ejecutar esto desde mi servidor Jenkins, aparece el siguiente error:

 java.io.FileNotFoundException at jenkins.plugins.git.GitSCMFile$3.invoke(GitSCMFile.java:167) at jenkins.plugins.git.GitSCMFile$3.invoke(GitSCMFile.java:159) at jenkins.plugins.git.GitSCMFileSystem$3.invoke(GitSCMFileSystem.java:161) at org.jenkinsci.plugins.gitclient.AbstractGitAPIImpl.withRepository(AbstractGitAPIImpl.java:29) at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.withRepository(CliGitAPIImpl.java:65) at jenkins.plugins.git.GitSCMFileSystem.invoke(GitSCMFileSystem.java:157) at jenkins.plugins.git.GitSCMFile.content(GitSCMFile.java:159) at jenkins.scm.api.SCMFile.contentAsString(SCMFile.java:338) at org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition.create(CpsScmFlowDefinition.java:101) at org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition.create(CpsScmFlowDefinition.java:59) at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:232) at hudson.model.ResourceController.execute(ResourceController.java:98) at hudson.model.Executor.run(Executor.java:404) Finished: FAILURE

Dado que esto se ejecuta dentro de una VM en Azure, pensé que la VM no podía llegar al exterior, pero parece que ese no es el caso, ya que pude ingresar a la VM y git pull del repositorio de Git. Entonces, ¿cuál es el problema aquí? ¿Cómo podría hacer que esto funcione?

about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

para mí, desmarcar "pago ligero" solucionó el problema

about 4 years ago · Santiago Trujillo Denunciar

0

Experimenté exactamente el mismo error. Mi configuración:

  • Construcción de canalización dentro de un Jenkins dockerizado (versión 2.32.3)
  • En la configuración del trabajo, especifiqué un check-out en un subdirectorio: Abra la configuración, por ejemplo, https://myJenkins/job/my-job/configure . En la parte inferior, consulte la sección Pipeline -> Additional Behaviours -> Check out into a sub-directory con Local subdirectory for repo establecido en, por ejemplo, my-sub-dir .
  • Expectativa: al finalizar la compra, el Jenkinsfile termina en my-sub-dir/Jenkinsfile .
  • A través de la opción Ruta del Script path , configura la ubicación del Jenkinsfile para que Jenkins pueda iniciar la compilación. Puse my-sub-dir/Jenkinsfile como valor.

Luego recibí la excepción que pegó en su pregunta. Lo arreglé configurando Script Path en Jenkinsfile . Si no especifica un subdirectorio para verificar, intente verificar dos veces los valores para Script Path .

Nota: tengo otra instancia de Jenkins en el trabajo. Allí tengo que especificar la Script Path incluido el subdirectorio de verificación personalizado (como se mencionó en Expectativa arriba).

about 4 years ago · Santiago Trujillo Denunciar

0

IR A Trabajo-->Config-->Pipline y desmarque la casilla de verificación de pago ligero"

ingrese la descripción de la imagen aquí

pago ligero: seleccionado, intente obtener el contenido del script Pipeline >directamente desde el SCM sin realizar un pago completo. La ventaja de este modo es su eficiencia; sin embargo, no obtendrá registros de cambios ni sondeos basados en el SCM. (Si usa el checkout scm durante la compilación, esto completará el registro de cambios e inicializará el sondeo). Además, los parámetros de compilación no se sustituirán en la configuración de SCM en este modo. Solo los complementos SCM seleccionados admiten este modo.

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda