2010-03-03 6 views
6

Antes de que alguien me dispara hacia abajo para esto - ya he comprobado cada hilo apropiado y continúa sin encontrar una solución a mi problema.clonación/ir a buscar repositorio Git usando el plugin de Hudson en Windows

tengo Hudson con el plugin git instalado en el servidor de ventanas (no es mi elección) y Hudson se ejecuta como un servicio. Git/bin está en el camino. Sin embargo, no puedo clonar el repositorio. Aquí es una muestra reducida de la salida de la consola:

Started by user anonymous 
Checkout:workspace/C:\.hudson\jobs\sdf\workspace - [email protected] 
Last Built Revision: Revision 74200b32314231a5efdadd87bf36b42ec145c720 (origin/master) 
Checkout:workspace/C:\.hudson\jobs\sdf\workspace - [email protected] 
Fetching changes from the remote Git repository 
Fetching upstream changes from ssh://git.mccannlondon.co.uk/git/mccann_admin 
[workspace] $ "C:\Program Files\Git\bin\git.exe" fetch -t ssh://git.mccannlondon.co.uk/git/mccann_admin +refs/heads/*:refs/remotes/origin/* 
The server's host key is not cached in the registry. You 
have no guarantee that the server is the computer you 
think it is. 
The server's rsa2 key fingerprint is: 
ssh-rsa 2048 f1:48:2a:0a:d9:18:cf:2e:f2:8c:b3:25:7f:34:d5:34 
Connection abandoned. 
fatal: The remote end hung up unexpectedly 
ERROR: Problem fetching from origin/origin - could be unavailable. Continuing anyway 

Así que parece que necesito para autenticar el host sin embargo no estoy seguro de por qué Hudson está iniciando el trabajo como en el anonimato del usuario cuando ponga el Administrador como titular de el servicio Hudson.

¿Alguien sabe:

  • a) cómo cambiar el usuario de ejecución de Hudson? o
  • b) conectar al ordenador quitar con la misma cuenta de usuario como Hudson utiliza como para permitir Hudson para ir a buscar?

Si esto ha sido publicado antes de disculpas, pero pasé unas horas buscando y no pude encontrar nada.

Gracias

Lewis

+0

está usando masilla o openssh? – TheDon

Respuesta

4

Esto puede estar relacionado a la pregunta Git, Can’t clone repo on windows

El problema es que msysgit comienza plink en el fondo, es decir, el terminal no está conectado realmente a la entrada de PLink. Eso significa que simplemente no puede escribir nada en PLINK.

Usted simplemente tiene que conectar con el servidor una vez usando PLINK o masilla, responda Sí, y desde entonces, no se le preguntó de nuevo.

El tutorial de cletus puede ser útil también.

Una buena descripción del problema se pueden encontrar en this blog entry

el problema es que Hudson es un servicio y se ejecuta bajo el usuario "Cuenta de servicio local".

El siguiente paso es añadir la traza manualmente la caché (un archivo) porque sé que puede hacer en Linux.
Error de nuevo, Windows no tiene este caché como un archivo pero usa el registro.
la búsqueda en el registro encuentra una entrada para mi usuario (que había accedido previamente el repositorio y se añade a la huella de la memoria caché), donde se almacena y se copia en HKEY_USERS para que los usuarios puedan acceder a ella la traza.

La entrada dice así:

Key Name: HKEY_USERS\.DEFAULT\Software\SimonTatham\PuTTY\SshHostKeys 
Class Name: NO CLASS 
Last Write Time: 23.01.2009 - 18:35 
Value 0 
Name: [email protected]:bla_bla.com 
Type: REG_SZ 
Data: 0xb477b... 

Desde la línea de comandos, puede agregar fácilmente la clave de la siguiente manera:

reg add HKEY_USERS\.DEFAULT\Software\SimonTatham\PuTTY\SshHostKeys /v [email protected]:bla_bla.com /d 0xb477b... 

Ahora Hudson, ejecute como un servicio, vaya feliz y sin problemas al repositorio donde está el código.

+0

Tenía este problema de los clientes y la línea de comandos, y probé el truco de masilla, y funcionó. ¡Gracias! – Ingvald

1

El 'iniciado por anónimo' le indica qué usuario de Hudson comenzó el trabajo. Si no ha creado ningún usuario de Hudson, entonces todo se inicia con 'anónimo'

No está relacionado con qué usuario del sistema operativo está ejecutando el proceso.

0

Ha preguntado cómo cambiar el usuario que Hudson ejecuta como: necesita editar el servicio (Panel de control-> Herramientas administrativas-> Servicios, haga doble clic en el servicio Hudson y cambie "Iniciar sesión" a "Esta cuenta")

Una vez que la cuenta está configurada, me aseguro de que el servidor git esté en ~ hudson/.ssh/known_hosts de MINGW (Git Bash), y que haya un archivo ~ hudson/.ssh/identity en su lugar. La única advertencia que tengo es que si tiene cygwin instalado en la caja, debe asegurarse de que% CYGWIN% esté vacío; de lo contrario, verá errores de permisos clave en los registros de Hudson. Mi recomendación es que simplemente establezca la variable de entorno CYGWIN en Empty en Hudson.

0

me encuentro con el mismo problema y después de plug-in de verificación git, http://wiki.hudson-ci.org/display/HUDSON/Git+Plugin

Se afirma que cambiar la ruta git a/usr/bin/git en un entorno global y config el nombre de usuario git

Y es fija mi problema

Espero que funcione para usted también, por cierto, yo uso ubuntu, pero debe ser el mismo

+0

es que el plugin hudson no es suficiente. –

+0

Si el 'hudson - unix box' no tiene el comando git, la operación con respecto a' git' falla en 'hudson'? –

Cuestiones relacionadas