2010-04-19 11 views
31

Estoy intentando configurar Hudson con git acuerdo con this article, pero aún así obtener errores durante la compilación git:Hudson + git FATAL: No se pueden aplicar etiquetas

FATAL: Could not apply tag-PROJECTNAME-ID 
... 
Caused by: hudson.plugins.git.GitException: Command returned status code 128: 
*** Please tell me who you are. 

en marcha: git config --global user.name muestra datos válidos, .gitconfig es accesible.

¿Cómo corregir esos errores?

Respuesta

26

Si es necesario, tanto user.name como user.email.
En realidad, es open ticket to set them automatically.

También podría ser un Hudson server issue:

que estaba un poco confusa para ver este mensaje ya que ya había configurado git que mi nombre de usuario y correo electrónico.
Luego recordé que Hudson se está ejecutando en tomcat que se ejecuta con el usuario tomcat6.
Necesitaba configurar el usuario de tomcat6 para tener la configuración de git necesaria para etiquetar en los repositorios de git.

instalación de la configuración de Git para el usuario tomcat6 de la siguiente manera:

sudo -s -H -u tomcat6 
git config --global user.name "Hudson" 
git config --global user.email "[email protected]" 
exit 

Como nota, si está utilizando Hudson para cometer y empujar a otro repositorio se utilizan estos valores de configuración para todos los compromisos hechos por Hudson.

El siguiente paso es informar a Hudson dónde está el HOME para el usuario tomcat6.
En la página Hudson/configure, hay una casilla de verificación para definir variables de entorno.
Una vez que esté marcado, podrá colocar un par clave-valor. Añadir el siguiente par y guardar su configuración:

name: HOME 
value: /usr/share/tomcat6/ 

La próxima vez que un proyecto de Hudson se construye debería ver la siguiente línea cerca de la parte superior de la salida de la consola:

Env: HOME=/usr/share/tomcat6/ 

El complemento git ahora debería poder etiquetar con éxito el repositorio y continuar con la compilación.


Como mentioned here, es posible que tenga un usuario especial tomcat6 sin cuenta (sin inicio de sesión permitido, sin cáscara: cito "tomcat6 は ロ グ イ ン 不 許可 (シ ェ ル は/bin/false) っ て な って い) "), en cuyo caso debe configurar al usuario.nombre y correo electrónico en el nivel de sistema)

git config - system user.email "kompiro @ ..." 
git config --system user.name " kompiro... " 

Si está utilizando el usuario tomcat6 en Hudson, Hudson tendrá que ver a ese usuario en el directorio/etc/passwd, as mentioned here:

Más específicamente, en el /etc/passwd. Por alguna razón, aquí GIT necesita una entrada en el campo para el nombre completo. En Ubuntu, el usuario de Tomcat ha colocado allí de forma predeterminada, nada ("Unter Ubuntu hat der Tomcat-User dort standardmäßig nichts gesetzt.").
Agrega uno ahora simplemente 'Tomcat 6,,, a', también se ejecuta con los vecinos de CI.
("Fügt hombre jetzt dort einfach 'Tomcat 6,,,' ein, läuft es auch mit dem CI-Nachbarn")

+1

Vea también otro tutorial con http://www.softwarebloat.com/2008/11/19/continuous-integration-blueprints-how-to-build-an-army-of -killer-robots-with-hudson-and-pepino/ – VonC

+0

Gracias VonC por la información detallada. En mi Ubuntu Hudson se ejecuta en el usuario Hudson. Acabo de configurar el nombre y el correo electrónico de git para el usuario de Hudson y funciona ahora. – takeshin

+1

pero no quiero que el complemento de Git agregue etiquetas a mi repositorio de Git para cada compilación (¡cada 15 minutos más o menos!). eso es muy extraño, se etiqueta automáticamente de manera predeterminada. – Alex

33

Después de instalar el git plugin puedes configurar el nombre de Git y correo electrónico en Jenkins página "Configuración del sistema". ..

git options in jenkins

+2

El plugin git resuelve este problema mucho más rápido que leer los comentarios en la respuesta. –

2

En la nueva versión de Hudson con el plugin de git, puede configurar ambos: el nombre de usuario y el correo electrónico del usuario a través de las opciones de la interfaz web de Hudson.

2

O simplemente puede deshabilitar el etiquetado. En las configuraciones del proyecto, en Administración del código fuente, vaya a Avanzado. Allí puede marcar "Omitir etiquetado interno"

+0

La actualización de los complementos debe haber agregado esto de alguna manera, no estaba allí antes de todos modos. Después de eliminarlo como dijiste, funcionó de nuevo. – JugsteR

Cuestiones relacionadas