Soy nuevo en Hudson / Jenkins y me preguntaba si hay una manera de verificar los archivos de configuración de Hudson para controlar la fuente.
Idealmente, quiero poder hacer clic en algún botón en la interfaz de usuario que dice "guardar configuración" y hacer que los archivos de configuración de Hudson se registren para controlar la fuente.
version-control
hudson
jenkins
jenkins-plugins
Yuval Roth
fuente
fuente
Respuestas:
Respuesta más útil
Hay un complemento llamado complemento de configuración SCM Sync .
Respuesta original
Echa un vistazo a mi respuesta a una pregunta similar. La idea básica es usar el plugin systemystem-scm para detectar cambios en los archivos xml. Su segunda parte sería confirmar los cambios en SVN.
EDITAR: si encuentra una manera de determinar el usuario para un cambio, infórmenos.
EDITAR 2011-01-10 Mientras tanto, hay un nuevo complemento: el complemento de configuración SCM Sync . Actualmente solo funciona con subversión y git, pero está previsto el soporte para más repositorios. Lo estoy usando desde la versión 0.0.3 y funcionó bien hasta ahora.
fuente
Tenga en cuenta que Vogella tiene una versión reciente (enero de 2014, en comparación con la pregunta del OP de enero de 2010) y diferente.
Tenga en cuenta que el complemento de configuración SCM Sync puede generar muchas confirmaciones.
Entonces, en lugar de depender de un complemento y un proceso automatizado, administra la misma función manualmente:
Almacenar la información del trabajo de Jenkins en Git
Alberto realmente recomienda agregar también (en
$JENKINS_HOME
):config.xml
),hudson*.xml
) yusers/*/config.xml
)fuente
config.xml
?Para administrar manualmente su configuración con Git, el siguiente archivo .gitignore puede ser útil.
Vea este GitHub Gist y esta publicación de blog para más detalles.
fuente
Hay un nuevo complemento de configuración de sincronización SCM que hace exactamente lo que está buscando.
Realmente no he probado esto todavía, pero parece prometedor.
fuente
Puede encontrar archivos de configuración en la carpeta de inicio de Jenkins (por ejemplo
/var/lib/jenkins
).Para mantenerlos en VCS, primero inicie sesión como Jenkins (
sudo su - jenkins
) y cree sus credenciales git:Luego inicialice, agregue y confirme los archivos básicos como:
También considere crear
.gitignore
con los siguientes archivos para ignorar (personalizar según sea necesario):Luego agrégalo:
git add .gitignore
.Cuando termine, puede agregar archivos de configuración de trabajo, p. Ej.
Finalmente agregue y confirme cualquier otro archivo si es necesario, luego empújelo al repositorio remoto donde desea guardar los archivos de configuración.
Cuando se actualizan los archivos de Jenkins, debe volver a cargarlos ( Volver a cargar la configuración desde el disco ) o ejecutar
reload-configuration
desde la CLI de Jenkins.fuente
*.xml
no cambia la regla y git ignora todos los archivos xml, incluidos losconfig.xml
deljobs
directorio, porgit status
lo que silenciosamente ignora cualquier proyecto nuevo .La forma en que prefiero es excluir todo en la carpeta de inicio de Jenkins, excepto los archivos de configuración que realmente desea que estén en su VCS. Aquí está el
.gitignore
archivo que uso:Esto ignora todo (
*
) excepto (!
).gitignore
sí mismo, los trabajos / proyectos, el complemento y otros archivos de configuración importantes y de usuario.También vale la pena considerar incluir el
plugins
carpeta. Se deben incluir complementos molestos actualizados ...Básicamente, esta solución facilita las futuras actualizaciones de Jenkins / Hudson porque los archivos nuevos no están automáticamente en el alcance. Simplemente te subes a la pantalla lo que realmente quieres.
fuente
Una más precisa
.gitignore
, inspirada en la respuesta de nepa :Ignora todo excepto los
.xml
archivos de configuración y a.gitignore
sí mismo. (la diferencia a nepa 's.gitignore
es que no lo hace 'Desactivar' todos los directorios de nivel superior (!*/
) comologs/
,cache/
, etc.)fuente
La respuesta de Mark ( https://stackoverflow.com/a/4066654/142207 ) debería funcionar para SVN y Git (aunque la configuración de Git no funcionó para mí).
Pero si necesita que funcione con el repositorio de Mercurial, cree un trabajo con el siguiente script:
fuente
He escrito un complemento que le permite verificar sus instrucciones de Jenkins en el control de código fuente. Simplemente agregue un
.jenkins.yml
archivo con el contenido:y Jenkins lo hará:
fuente
Revisé Hudson por completo, podría usar esto como punto de partida https://github.com/morkeleb/continuous-delivery-with-hudson
Hay beneficios de mantener todo Hudson en git. Todos los cambios de configuración se registran y puede probar la prueba con bastante facilidad en una máquina y luego actualizar las otras máquinas usando git pull.
Usamos esto como una base para nuestra configuración de entrega continua de Hudson en el trabajo.
Saludos Morten
fuente