2009-07-24 18 views
11

He creado un proyecto de software de estilo libre en Hudson.Error de clonación de Hudson git

que desea clonar un repositorio público de Git: git://github.com/bret/watir.git

generación falla con el mensaje de error:

Started by user anonymous 
Checkout:workspace/C:\Documents and Settings\Administrator\.hudson\jobs\watir\workspace - [email protected] 
Last Build : #4 
Checkout:workspace/C:\Documents and Settings\Administrator\.hudson\jobs\watir\workspace - [email protected] 
Cloning the remote Git repository 
Cloning repository origin 
$ git clone -o origin git://github.com/bret/watir.git "C:\Documents and Settings\Administrator\.hudson\jobs\watir\workspace" 
Trying next repository 
ERROR: Could not clone from a repository 
FATAL: Could not clone 
hudson.plugins.git.GitException: Could not clone 
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:400) 
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:358) 
    at hudson.FilePath.act(FilePath.java:676) 
    at hudson.FilePath.act(FilePath.java:660) 
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:358) 
    at hudson.model.AbstractProject.checkout(AbstractProject.java:833) 
    at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:314) 
    at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:266) 
    at hudson.model.Run.run(Run.java:948) 
    at hudson.model.Build.run(Build.java:112) 
    at hudson.model.ResourceController.execute(ResourceController.java:93) 
    at hudson.model.Executor.run(Executor.java:118) 

No creo que el problema está en los permisos de carpetas porque no tengo otro trabajo Hudson (con SVN repositorio) que funciona bien.

me han tratado de clonar el repositorio para .hudson \ empleos \ Watir \ espacio de trabajo desde la línea de comandos, y funciona bien:

C:\>git clone -o origin git://github.com/bret/watir.git "C:\Documents and Settings\Administrator\.hudson\jobs\watir\workspace" 
Initialized empty Git repository in C:/Documents and Settings/Administrator/.hudson/jobs/watir/workspace/.git/ 
remote: Counting objects: 15203, done. 
essing objects: 100% (5307/5307), done. 
remote: Total 15203 (delta 10052), reused 14532 (delta 9565) 
Receiving objects: 100% (15203/15203), 7.88 MiB | 144 KiB/s, done. 
Resolving deltas: 100% (10052/10052), done. 

Por lo que yo puedo decir, Hudson utilizarse ya sea el mismo ejecutable Git o la misma versión de ella, como lo hace la línea de comando.

línea

Comando:

C:\>git version 
git version 1.6.3.2.1299.gee46c 

Hudson:

Started by user anonymous 
[workspace] $ cmd /c call C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\hudson9062544454093366628.bat 

C:\Documents and Settings\Administrator\.hudson\jobs\watir\workspace>git version 
git version 1.6.3.2.1299.gee46c 
Finished: SUCCESS 

Buscando en la web he encontrado sólo una página relacionada con mi mensaje de error (hudson git plugin remote windows slave clone), y se dice que el problema no es Git estar en camino Pero en ese caso, git version no se ejecutará desde Hudson, ¿verdad?

Medio Ambiente:

  • Microsoft Windows Server 2003 R2, Standard Edition, Service Pack 2
  • Java 1.6.0_14
  • Hudson 1.316
  • Hudson GIT plug-in 0.7.3
  • git 1.6 .3.2.1299.gee46c

Respuesta

8

Parece que la publicación hudson git plugin remote windows slave clone tenía razón. Cuando voy al Manage Hudson > Configure System, en la sección Git > Git executable, aparece el error There's no such executable git in PATH. (Si se demora unos segundos en que Hudson muestre el error después de que se muestre la página). Agregar C:\Program Files\Git\bin a la ruta y reiniciar Hudson resolvió el problema.

+0

Gracias, acabo de encontrar el mismo problema. Parece que los conductores esclavos de Hudson [;-)] esperan emitir comandos como el shell de comandos. Git \ cmd está en la ruta pero no en Git \ bin. Todo se reduce a cómo llamas las cosas. –

+0

Mismo problema para mí. Sin git en el camino. –

-1

El complemento Git 0.7.3 tiene alguna emisión es cuando se usa con rutas absolutas de Windows.

Intente utilizar rutas relativas en su lugar.

+0

¿Cómo? ¿Puedes ser mas específico? ¿Dónde especifico en Hudson que quiero que use rutas relativas? –

1

Vale la pena señalar que si el proceso de clonación en sí tiene un problema, también verá este problema. He tenido problemas con uno de mis cuadros fallando 4 de 5 veces en el clon inicial de un repositorio grande, y Hudson siguió arrojando este error. Una buena forma de verificar esto es el problema, y ​​no es que Hudson no pueda encontrar el archivo ejecutable de git, es clonar el repositorio en el espacio de trabajo de Hudson manualmente y luego ejecutar una compilación de Hudson: si Hudson está configurado correctamente, la compilación tendrá éxito y informa que no hay cambios

+0

Este es exactamente el problema con el que me he encontrado. Si hago un clon en la línea de comando primero en el espacio de trabajo donde hudson estará trabajando las compilaciones futuras funcionan bien. Algo claramente está pasando mal con el proceso de clonación inicial, pero no puedo decir qué exactamente en este momento. Sin duda, la depuración del código del complemento Git podría revelar exactamente lo que está mal. Si alguna vez tengo algo de tiempo libre, planeo hacer esto. –

0

que tenía que tratar con la URL ssh [email protected]:organisation/repo.git lugar el https https://github.company.co.uk/organisation/repo.git

Cuestiones relacionadas