2012-01-30 8 views
6

nuestra estructura de proyecto se ha dividido. Por un lado, está la carpeta/plugins que contiene todos los proyectos principales de complementos. Por otro lado, tenemos una carpeta/tests que contiene todos los proyectos de fragmentos que son las pruebas unitarias para sus proyectos de complemento principales correspondientes.Jenkins: ¿Cómo reviso dos URL de repositorio en el mismo espacio de trabajo sin eliminar el primero?

Jenkins me permite consultar varios repositorios, e incluso a la misma carpeta en el área de trabajo.

El problema es que el primer pago se elimina cuando se retira la segunda URL.

/plugins se coloca en el directorio de espacio de trabajo, a continuación, el directorio de espacio de trabajo se "limpió":

Cleaning local Directory . 

Entonces el segundo directorio/pruebas está desprotegido.

Por supuesto, quiero que ambos contenidos de la carpeta se coloquen en el mismo directorio del espacio de trabajo. ¿Cómo puedo hacer eso?

+0

¿Qué herramienta (juego) usas para construir? –

+1

¿Qué repositorio (s) estás usando? – Sagar

+0

@danowar - ¿Es la respuesta de Toby suficiente para sus necesidades? Si es así, márquelo como tal. De lo contrario, actualice la pregunta con más detalles. –

Respuesta

5

Suponiendo que está utilizando Subversion para realizar el pago de sus proyectos, debe especificar el "Directorio de módulos locales" en lugar de los valores predeterminados para cada ruta que está eliminando.

Por ejemplo;

Si tiene svn: // myrepo/myproject/plugins y svn: // myrepo/myproject/tests, la configuración sería similar a;

Esto le informaría a Jenkins que tiene dos rutas para finalizar la compra y en ubicaciones separadas.

Si está intentando ejecutar un proyecto en la subcarpeta de otra copia de trabajo, es posible que deba usar svn: externals en el directorio principal.

+0

100% de acuerdo: lo que toby describe simplemente funciona bien! –

0

En el nuevo Jenkins 2,0 tubería (anteriormente llamado el flujo de trabajo Plugin), esto se hace de forma diferente para:

  • el repositorio principal
  • Otros repositorios adicionales

Me refiero específicamente a la tubería Multibranch versión 2.9.

repositorio principal

Este es el repositorio que contiene su Jenkinsfile.

En la pantallaconfigurar en su proyecto de la tubería, introduzca su nombre de repositorio, etc.

No utilice comportamientos adicionales> cheque a un subdirectorio. Esto colocará su Jenkinsfile en el subdirectorio where Jenkins cannot find it.

En Jenkinsfile, descargar el repositorio principal en el subdirectorio usando dir():

dir('subDir') { 
    checkout scm 
} 

repositorios adicionales

Si desea ver más repositorios, utilice el generador Pipeline Sintaxis de generar automáticamente un fragmento de código Groovy.

En la pantallaconfigurar en su proyecto de la tubería:

  1. Seleccionar Pipeline Sintaxis. En el Muestra Paso menú desplegable, elija pago y envío: General SCM.
  2. Seleccione su sistema SCM, como Git. Complete la información habitual sobre su repositorio o depósito.
  3. Tenga en cuenta que en la interconexión de líneas múltiples, la variable de entorno env.BRANCH_NAME contiene el nombre de la rama del repositorio principal.
  4. En los comportamientos adicionales menú desplegable, seleccione Salida a un subdirectorio
  5. Haga clic en Generar maravilloso. Jenkins mostrará el fragmento de código de Groovy correspondiente a la salida de SCM que ha especificado.
  6. Copie este código en la secuencia de comandos de tubería o Jenkinsfile.
Cuestiones relacionadas