2012-02-28 25 views
12

Actualmente tengo Jenkins configurado con una cantidad de trabajos, pero está resultando difícil realizar una copia de respaldo porque los artefactos están almacenados dentro del directorio de trabajo. Me gustaría hacer una copia de seguridad de las configuraciones de trabajo y los artefactos por separado. Estoy seguro de que recuerdo haber leído en alguna parte que Jenkins ahora tiene una opción para almacenarlos fuera del trabajo, pero no puedo encontrar esto.¿Puede Jenkins almacenar artefactos fuera del directorio de trabajo?

¿Hay alguna opción de configuración que lo haga mientras se hacen visibles los artefactos desde el trabajo en la interfaz de Jenkins? (es decir, en lugar de simplemente un complemento que copia los artefactos en otro lugar)

Respuesta

13

Vaya a la página de configuración de jenkins, p.

http://mybuildserver.acme.com/configure 

En la parte superior de la página de configuración hay una configuración de "directorio de inicio". Haga clic en el botón "avanzado ..." debajo de él.

Ahora configure el "Directorio de raíz del área de trabajo" en e:\jenkins-workspaces\${ITEM_FULL_NAME}, y "Crear directorio raíz de registros" en e:\jenkins-builds\${ITEM_FULL_NAME} o algo similar.

Advertencia: Ejecuto Jenkins 2.7.2 y noté que ciertas características no funcionan correctamente después de configurar Jenkins de esa manera. Vi problems with folders y problems with the multi-branch project plugin. Verifique el estado de esos problemas si confía en estas características.

6

Como puede see here, hay muchos complementos para implementar artefactos en cualquier lugar que desee/necesite, en FTP, CIFS, Confluence, Artifactory .... especialmente el ArtifactsDeployer que le permitirá hacer una copia de los artefactos en la Casa Jenkins.

+2

Gracias, parece útil, pero sospecho que ArtifactsDeployer no hará exactamente lo que necesito, ya que dice: "debido al diseño de Jenkins, no es posible, por ejemplo, extender la función 'artefactos archivados' para archivar artefactos en otros lugares ". –

+1

Eche un segundo vistazo a ArtifactDeployer. Puede COPIA los artefactos a otra ubicación, como en la red. Y hay una opción AVANZADA "Eliminar artefactos remotos cuando se borra la compilación" que también borrará los archivos cuando se elimine la compilación. Ahora, realmente tiene dos copias de los artefactos: una en el directorio de trabajo/construcción de Jenkins, una en la red. –

+2

El problema es que quería evitar tenerlo en el directorio de trabajo, pero todavía tengo los artefactos vinculados desde la página de estado del trabajo. –

1

Pruebe la opción de compilación Use Custom Workspace. Desde la ventana emergente de Jenkins:

Para cada trabajo en Jenkins, Jenkins asigna un único "espacio de trabajo directorio". Este es el directorio donde se verifica el código y ocurren las construcciones . Normalmente debería dejar que Jenkins asigne y limpie los directorios del área de trabajo , pero en varias situaciones esto es problemático, y en tal caso, esta opción le permite especificar la ubicación del área de trabajo manualmente.

Esta opción también está disponible en las propiedades de proyecto avanzadas de las compilaciones de proyectos de configuración múltiple.

Cuestiones relacionadas