MANUAL DE USUARIO Guía de Gestión de la Configuración con Subversion Versión 1.9 Área de Integración y Arquitectura de Aplicaciones Framework Atlas Guía de Uso de Subversion Hoja de Control Título Guía de Gestión de la Configuración con Subversion Documento de Referencia Responsable Área de Integración y Arquitectura de Aplicaciones Versión 1.9 Fecha Versión 22/04/2016 Registro de Cambios Fecha del Versión Causa del Cambio 1.0 Versión inicial del documento 02/06/2011 1.1 Añadidas instrucciones para “Revert” y marcar un directorio como “Derived”. 03/06/2011 1.2 Modificado el nombre del tag, incluido nombre del módulo que se entrega 23/09/2011 1.3 Cambio Inclusión de modificaciones específicas para tecnología Webratio. Modificado formato del tag de entregas, nombre del módulo opcional y corregido 09/10/2012 ejemplo. 1.4 Introducida una nota para que quede claro que el usuario de acceso a Subversion hay que introducirlo EN MAYÚSCULAS 12/11/2013 1.5 Tras la primera instalación de una aplicación ATLAS o WEBRATIO, nos deben devolver el fichero environment.properties configurado, y debemos copiarlo a nuestro proyecto. 24/02/2014 1.6 Modificado punto 5. Indicar: [NOMBREMODULO] es opcional en proyectos ATLAS 26/06/2014 1.7 4.9 Indicado que se marque como derived la carpeta target 25/9/2014 1.8 Añadidos puntos 5.1.1, 5.1.2, y 5.1.3 entrea de uno o varios modulos de aplicación 7/7/2015 1.9 Se han quitado la excepción de que en el entorno de producción no se devolvía el 22/04/2016 environment.properties 2 de 36 Framework Atlas Guía de Uso de Subversion Índice 1. INTRODUCCIÓN ................................................................................................................................................................ 4 1.1. 1.2. AUDIENCIA OBJETIVO .............................................................................................................................................. 4 CONOCIMIENTOS PREVIOS ...................................................................................................................................... 4 2. ESTRUCTURA DE REPOSITORIOS DE SUBVERSION EN ICM .............................................................................. 5 3. INSTALACIÓN DEL PLUGIN DE SUBVERSION ......................................................................................................... 7 4. USO BÁSICO DE SUBVERSION....................................................................................................................................... 9 4.1. 4.2. 4.3. 4.4. 4.5. 4.6. 4.7. 4.8. 4.9. 5. AÑADIR UN REPOSITORIO ........................................................................................................................................ 9 SUBIDA INICIAL DEL PROYECTO (SÓLO LA PRIMERA VEZ) ........................................................................... 12 DESCARGAR UN PROYECTO .................................................................................................................................. 12 VER DIFERENCIAS ENTRE EL PROYECTO LOCAL Y EL REPOSITORIO ......................................................... 14 ACTUALIZAR LA COPIA LOCAL ............................................................................................................................ 15 SUBIR LOS CAMBIO LOCALES AL REPOSITORIO .............................................................................................. 17 VER LOS CAMBIOS QUE SE HAN HECHO SOBRE UN DIRECTORIO O FICHERO........................................... 19 DESHACER LOS CAMBIOS LOCALES.................................................................................................................... 20 MARCAR UN DIRECTORIO PARA QUE NUNCA SE SUBA AL REPOSITORIO ................................................. 22 REALIZACIÓN DE UNA ENTREGA PARA SU INSTALACIÓN EN LOS ENTORNOS DE ICM ........................ 23 5.1. REALIZACIÓN DE UNA ENTREGA CON ECLIPSE ............................................................................................... 24 5.1.1. Realización de una entrega con todos los módulos de un proyecto ...................................................................... 24 5.1.2. Realización de una entrega de un módulo del proyecto ....................................................................................... 28 5.1.3. Realización de una entrega varios módulos de un proyecto ................................................................................. 32 3 de 36 Framework Atlas Guía de Uso de Subversion 1. INTRODUCCIÓN En este documento se explica el uso de la herramienta de control de versiones Subversion para el desarrollo y mantenimiento de aplicaciones para ICM. En él se explica la instalación del plugin de Subversion para el entorno de desarrollo Eclipse, así como el uso de este plugin para subir modificaciones al repositorio y realizar entregas para su instalación en los distintos entornos de ICM. 1.1. AUDIENCIA OBJETIVO Este documento va dirigido a todas aquellas personas que requieran usar Subversion para desarrollar o mantener aplicaciones para ICM. 1.2. CONOCIMIENTOS PREVIOS Para un completo entendimiento del documento, el lector deberá tener conocimientos previos sobre el entorno de desarrollo Eclipse. Adicionalmente, si se desea utilizar Subversion para almacenar proyectos en las distintas tecnologías de ICM (ATLAS, ERWIN, etc.), se requieren conocimientos específicos de dichas tecnologías. 4 de 36 Framework Atlas Guía de Uso de Subversion 2. ESTRUCTURA DE REPOSITORIOS DE SUBVERSION EN ICM Todo proyecto en ICM tiene un repositorio de Subversion propio. Se puede acceder al repositorio de un determinado proyecto utilizando el cliente de Subversion incluido con Eclipse (Subclipse), o también utilizando un browser y accediendo a la URL del repositorio. URL del servidor de Subversion de un proyecto URL: https://RutaServidorSVN/svn/ProyectoMinusculas/ Valores de las variables: RutaServidorSVN: Ruta del servidor de Subversion (por defecto es https://subversion01:8443 ) ProyectoMinusculas: Nombre del proyecto en minúsculas (Ej: bsta). Ejemplo: https://subversion01:8443/svn/bsta/ Si accedemos con un explorador a la URL de un repositorio podemos navegar por su contenido: Nota Cada repositorio de un proyecto tiene asignada una seguridad para que sólo las personas autorizadas puedan ver el código y realizar modificaciones sobre él. 5 de 36 Framework Atlas Guía de Uso de Subversion Todo repositorio de un proyecto en ICM tiene la misma estructura, que consiste en las siguientes carpetas: entregas: Cada vez que se desea instalar un proyecto o módulo en cualquier entorno de ICM, se crea una “foto” del código en un momento determinado, que será la que se instale en el entorno deseado. En la nomenclatura de Subversion, una foto congelada del código se denomina TAG. Todos los tags creados para instalar en los distintos entornos de ICM se crean en esta carpeta “entregas”. instalaciones: Se trata de una carpeta de uso interno por la unidades de Paso a Producción. vXXXX: Cada versión de desarrollo que se mantenga para el proyecto tendrá una carpeta específica. Por ejemplo, si se está desarrollando una nueva versión del proyecto y a la vez se está realizando mantenimiento correctivo sobre el actual, habrá dos carpetas, una para cada versión. 6 de 36 Framework Atlas Guía de Uso de Subversion 3. INSTALACIÓN DEL PLUGIN DE SUBVERSION Para que desde Eclipse se pueda acceder a proyectos que se encuentran en un repositorio de subversion es necesario instalar un plugin llamado Subclipse. Nota Si en este momento el lector no tiene instalado en su máquina el entorno de desarrollo de aplicaciones Eclipse, se puede optar por una de las siguientes opciones: 1) Seguir los pasos del manual “ATLAS_MUS_Preparacion_Entorno_Desarrollo.doc” en el que se describe cómo instalar el entorno de desarrollo. 2) Utilizar el CD de Desarrollo y Mantenimiento de aplicaciones ATLAS que incluye todo lo necesario para comenzar a desarrollar/mantener aplicaciones. La forma recomendada para la instalación del plugin de Subclipse es mediante la URL de update de plugin http://subclipse.tigris.org/update_1.6.x tal y como se indica a continuación. Dentro de Eclipse vamos a la opción Help->Install New Software, y en la pantalla que aparece pulsamos sobre “Add…” para agregar una nueva dirección: Una vez añadido el sitio, seleccionamos los plugins según la siguiente pantalla: 7 de 36 Framework Atlas Guía de Uso de Subversion Con esto habremos completado la instalación del plugin. Si se nos solicita que reiniciemos el entorno, aceptaremos para que Eclipse vuelva a arrancar con el plugin instalado. 8 de 36 Framework Atlas Guía de Uso de Subversion 4. USO BÁSICO DE SUBVERSION Para poder utilizar la funcionalidad que nos ofrece el plugin Subclipse, debemos acceder a una vista especial llamada “SVN”. Para ello, desde la perspectiva java por defecto seleccionaremos en el menú la opción Window>Show View->Other->SVN y seleccionaremos la opción SVN repositories. Otra opción es pulsar directamente sobre el icono de la vista de SVN en la parte superior derecha de Eclipse según se muestra en la siguiente figura: 4.1. AÑADIR UN REPOSITORIO Una vez que estamos en la vista “SVN Repositories”, lo primero que debemos hacer es añadir un repositorio de Subversion a esta vista, para poder comenzar a realizar acciones sobre él. Para mostrar los repositorios instalados actualmente, debemos pulsar sobre el icono “SVN Repositories” situado en la zona inferior izquierda de la pantalla, según se muestra en la siguiente figura: 9 de 36 Framework Atlas Guía de Uso de Subversion Para añadir un nuevo repositorio, pulsamos con el botón derecho sobre el listado de repositorios, y seleccionamos “New -> Repository Location”: 10 de 36 Framework Atlas Guía de Uso de Subversion Introducimos entonces la URL del repositorio de Subversion que deseamos añadir, y pulsamos sobre el botón “Finish”: En la siguiente pantalla introducimos la URL del repositorio que nos han indicado, así como las credenciales de autenticación contra el repositorio de subversion (el usuario debe ir EN MAYÚSCULAS): 11 de 36 Framework Atlas Guía de Uso de Subversion Nota: Usuario EN MAYÚSCULAS Para acceder a Subversion, el usuario de conexión deberá ir siempre EN MAYÚSCULAS, si no se introduce de esta manera detectará que las credenciales son incorrectas. En este momento ya podemos navegar por el repositorio de Subversion recién añadido. Nota Si se trata de un nuevo proyecto y todavía no se encuentra creado un repositorio de Subversion para dicho proyecto, se deberá solicitar, a través del sistema de consultas (http://www.madrid.org/arquitecturasw/consultas ), la creación del proyecto en Subversion y la autorización de acceso a dicho repositorio para los usuarios que lo necesiten. A través de esta herramienta, el Área de Arquitectura de Aplicaciones creará el repositorio y nos proporciona la URL del proyecto en Subversion, por ejemplo: https://subversion01:8443/svn/csol/ 4.2. SUBIDA INICIAL DEL PROYECTO (SÓLO LA PRIMERA VEZ) Una vez que disponemos de un repositorio de Subversion creado para nuestro proyecto, debemos de subir el código de nuestro proyecto a dicho repositorio para comenzar a utilizarlo. Si se trata de un proyecto de tipo Webratio, se seguirán los pasos indicados en la Guía Rápida de desarrollo con Webratio. En cualquier otro proyecto (ATLAS, Modelos de datos ERWIN, etc.), la subida inicial de cualquier proyecto desde Eclipse, se realiza asistida por el Área de Arquitectura de Aplicaciones. Se deberá dar de alta una incidencia a través del sistema de consultas, y desde ahí se gestionará la subida inicial con ayuda del Área. 4.3. DESCARGAR UN PROYECTO Para descargar un proyecto del repositorio de Subversion a nuestra máquina local, debemos situarnos sobre el directorio raíz del proyecto que deseamos descargar, pulsar con el botón derecho y seleccionar la opción 12 de 36 Framework Atlas Guía de Uso de Subversion “Checkout”: En el cuadro de diálogo que aparece, debemos seleccionar la opción “Checkout as a Project in the Workspace”, y escribir el nombre que queremos dar al proyecto en nuestra máquina. Pulsaremos directamente sobre “Finish”, y con esto habremos concluido con la descarga del proyecto. Si volvemos a la perspectiva habitual “Java, o J2EE” pulsando sobre el botón correspondiente del listado de perspectivas , podemos ver cómo se ha añadido el nuevo proyecto a nuestro Workspace. 13 de 36 Framework Atlas Guía de Uso de Subversion 4.4. VER DIFERENCIAS ENTRE EL PROYECTO LOCAL Y EL REPOSITORIO Mientras que nos encontramos trabajando con nuestra copia local del proyecto, es posible que otros desarrolladores hayan subido sus modificaciones al repositorio. Para ver las diferencias entre nuestra copia local y la última versión del repositorio, pulsamos con el botón derecho sobre el proyecto y seleccionamos “Team -> Synchronize with repository”: 14 de 36 Framework Atlas Guía de Uso de Subversion Se muestra entonces una ventana con las diferencias entre nuestra copia local y el repositorio remoto. En el siguiente ejemplo, según la forma de las fechas puede verse cómo se ha modificado en local el fichero “823E4.rtf”, se han añadido en local los ficheros “.project” y “PRUEBA.rtf”, y alguien modificó en el repositorio remoto el fichero “823E2.rtf”: 4.5. ACTUALIZAR LA COPIA LOCAL Si queremos actualizar nuestra copia local con las últimas versiones del repositorio remoto, debemos pulsar con el botón derecho sobre la carpeta o ficheros que queremos actualizar, y seleccionamos “Team -> Update to HEAD”. 15 de 36 Framework Atlas Guía de Uso de Subversion Con esto quedará actualizado el proyecto local con las últimas versiones del repositorio. Nota Si al actualizar el proyecto local alguien modificó un fichero que nosotros también hemos modificado, Subversion NUNCA machacará nuestra copia local (no perderemos nuestros cambios). Dependiendo del tipo de fichero: - Si se trata de un fichero binario, Subversion nos informa del conflicto y debemos resolverlo. - Si se trata de un fichero de texto: Subversion intenta automáticamente juntar los dos cambios en el fichero local (operación merge). Si es posible lo hace, y si no nos informa del conflicto. Para ver los ficheros que se han modificado, así como todas las acciones que vamos realizando con Subversion, podemos mostrar la consola de Subversion en la parte inferior de la pantalla. Para ello pulsamos sobre el botón situado en la parte superior de la consola de Eclipse, y en el desplegable que aparece seleccionamos “SVN Console”: 16 de 36 Framework Atlas Guía de Uso de Subversion En ese momento podemos ver en la consola todas las acciones que se han ido realizando con Subversion: 4.6. SUBIR LOS CAMBIO LOCALES AL REPOSITORIO Si hemos realizado modificaciones en nuestro proyecto, los ficheros modificados se mostrarán con un asterisco en la zona inferior derecha del icono, y los añadidos con una interrogación: Para subir los cambios realizados al repositorio, pulsaremos con el botón derecho sobre la carpeta o ficheros que queremos actualizar, y seleccionamos “Team -> Commit…”. 17 de 36 Framework Atlas Guía de Uso de Subversion En ese momento se mostrará un cuadro de diálogo en el que debemos introducir un texto indicando los cambios que hemos realizado, y podemos seleccionar cuáles de todos los ficheros modificados deseamos subir: Introduciremos la descripción del cambio y pulsaremos sobre “OK”. 18 de 36 Framework Atlas Guía de Uso de Subversion Nota Aunque subversion permite subir modificaciones al repositorio dejando el campo de comentario vacío, esto no se considera una buena práctica. Siempre que se suba alguna modificación al repositorio se introducirá un comentario describiendo el cambio. 4.7. VER LOS CAMBIOS QUE SE HAN HECHO SOBRE UN DIRECTORIO O FICHERO En ocasiones queremos ver el histórico de cambios que se han realizado sobre un directorio o fichero del repositorio de Subversion. Para hacerlo, pulsaremos con el botón derecho sobre la carpeta o fichero, y seleccionamos “Team -> Show History”. Se mostrará entonces en la zona de la consola el histórico de modificaciones: 19 de 36 Framework Atlas Guía de Uso de Subversion Si deseamos ver las diferencias entre dos versiones concretas del código, mantenemos la tecla “Control” del teclado pulsada, y seleccionamos las dos versiones que queremos comparar. Pulsamos entonces con el botón derecho sobre ellas y seleccionamos la opción “Compare…”: En el desplegable que aparece pulsamos “OK” y podemos entonces ver las diferencias entre las versiones: 4.8. DESHACER LOS CAMBIOS LOCALES En ocasiones queremos deshacer las modificaciones que hemos realizado en local, y dejar nuestra copia local exactamente igual que la versión que hay en el repositorio. Para hacerlo, pulsaremos con el botón derecho sobre la carpeta o fichero, y seleccionamos “Team -> Revert”. 20 de 36 Framework Atlas Guía de Uso de Subversion En la siguiente pantalla se muestran los archivos que tenemos modificados en local. Para confirmar que deseamos deshacer estos cambios pulsamos sobre “OK”, y la versión local quedará igual que la del repositorio: 21 de 36 Framework Atlas Guía de Uso de Subversion 4.9. MARCAR UN DIRECTORIO PARA QUE NUNCA SE SUBA AL REPOSITORIO En ocasiones tenemos un directorio en local que nunca queremos que sea subido al repositorio de subversion (por ejemplo, el directorio donde está el código compilado de nuestro proyecto). Para marcar este directorio de forma que nunca se suba al repositorio, pulsaremos con el botón derecho sobre la carpeta, y seleccionamos “Properties”. En el cuadro de diálogo de propiedades de la carpeta, marcaremos la casilla “Derived”: De esta forma, Subversion no tendrá en cuenta esta carpeta a la hora de subir los cambios al repositorio. IMPORTANTE La carpeta target que eclipse genera a la hora de compilar un proyecto que está tanto en el proyecto padre, como en el test y web se debe marcar como derived para que no se suban a subversión los ficheros compilados Nota Eclipse utiliza la casilla “Derived” para otras funciones además de para excluir la carpeta del repositorio de Subversion. Por ejemplo, al realizar una búsqueda de un fichero dentro de un proyecto, no se buscará dentro de las carpetas marcadas como “Derived”. 22 de 36 Framework Atlas Guía de Uso de Subversion 5. REALIZACIÓN DE UNA ENTREGA PARA SU INSTALACIÓN EN LOS ENTORNOS DE ICM Para poder pasar una versión de nuestro proyecto a cualquiera de los entornos de ICM (validación, producción, etc.) es necesario realizar una “foto” del código en un momento determinado, que será la que se instale en el entorno deseado. En la nomenclatura de Subversion, una foto congelada del código se denomina TAG. Por tanto, para pasar una versión a cualquier entorno de ICM se ha de crear un TAG, en la carpeta “entregas” del repositorio del proyecto. Si se trata de un proyecto de tipo Webratio, se seguirán los pasos indicados en el apartado 5.2. En cualquier otro proyecto (ATLAS, Modelos de datos ERWIN, etc.) se seguirán los pasos indicados en el apartado 5.1. 23 de 36 Framework Atlas Guía de Uso de Subversion 5.1. REALIZACIÓN DE UNA ENTREGA CON ECLIPSE 5.1.1. Realización de una entrega con todos los módulos de un proyecto Para realizar una entrega de todos los módulos de un proyecto se creará el tag sobre la carpeta raiz del proyecto. Para crear el TAG, pulsaremos con el botón derecho sobre la carpeta raíz del proyecto sobre el que queremos crear el TAG, y seleccionamos “Team -> Branch/Tag…”. En ese momento aparece un cuadro de diálogo en el que debemos introducir la URL del repositorio en la que queremos crear el TAG. La URL tendrá el formato que se indica en el siguiente cuadro: 24 de 36 Framework Atlas Guía de Uso de Subversion URL del servidor de Subversion para crear un TAG URL: https://RutaServidorSVN/svn/ProyectoMinusculas/entregas/Fecha_Version Valores de las variables: RutaServidorSVN: Ruta del servidor de Subversion (por defecto https://subversion01.madrid.org:8443 ) ProyectoMinusculas: Nombre del proyecto en minúsculas (Ej: bsta). Fecha: Fecha en la que se crea el TAG, con formato AAAAMMDD Version: Versión de la que se trata. Ej: v1.0.3 es Ejemplo: https://subversion01.madrid.org:8443/svn/bsta/entregas/20110602_v1.0.3 En el cuadro de diálogo, introducimos la URL del TAG y nos aseguramos de que está activada la casilla “Create any intermediate folders that are missing”: 25 de 36 Framework Atlas Guía de Uso de Subversion Pulsamos sobre “Next”, y en la siguiente pantalla dejamos seleccionada la opción por defecto “Head revision in the repository”, y volvemos a pulsar sobre “Next”. Esto indica a Subversion que se cree el TAG con la última versión que hay en el repositorio. Nota Como el TAG se crea con la última versión del código que hay subido al repositorio, es imprescindible recordar subir las modificaciones que tenemos en local al repositorio antes de crear el TAG. En la siguiente pantalla debemos introducir un comentario indicando el motivo de la creación del TAG, y pulsar sobre “Finish”: Con esto hemos finalizado la creación del TAG. Podemos comprobar que el TAG está creado correctamente 26 de 36 Framework Atlas Guía de Uso de Subversion volviendo a la perspectiva “SVN Repositories” y navegando por el servidor hasta el TAG recién creado: Una vez creado el TAG, podemos realizar la solicitud de instalación del TAG que acabamos de crear a la Unidad de Paso a Producción de ICM, a través de la aplicación GPAP. Nota Tras la primera instalación de una aplicación en los entornos de ICM (*), si se trata de una aplicación en tecnología ATLAS o tecnología WEBRATIO, la Unidad de Paso a Producción deberá devolvernos el fichero “environment.properties” configurado correctamente para el entorno (el que ha modificado y utilizado para desplegar la aplicación). Debemos sobreescribir nuestro fichero local asociado a ese entorno (en la carpeta “war”) con el que se nos proporciona. 27 de 36 Framework Atlas Guía de Uso de Subversion 5.1.2. Realización de una entrega de un módulo del proyecto Para realizar una entrega de de un módulo de un proyecto que no tenga depencencias con otros módulos se creará el tag sobre la carpeta raiz del módulo. Este será un caso típico para un proyecto Batch o un Web Service que no tengan dependencias con otros módulos o un módulo tecnico de modelo de datos. Para crear el TAG, pulsaremos con el botón derecho sobre la carpeta raíz del módulo sobre el que queremos crear el TAG, y seleccionamos “Team -> Branch/Tag…”. En ese momento aparece un cuadro de diálogo en el que debemos introducir la URL del repositorio en la que queremos crear el TAG. La URL tendrá el formato que se indica en el siguiente cuadro: 28 de 36 Framework Atlas Guía de Uso de Subversion URL del servidor de Subversion para crear un TAG URL: https://RutaServidorSVN/svn/ProyectoMinusculas/entregas/Fecha_NOMBREMODULO_Version Valores de las variables: RutaServidorSVN: Ruta del servidor de Subversion (por defecto es https://subversion01.madrid.org:8443 ) ProyectoMinusculas: Nombre del proyecto en minúsculas (Ej: bsta). NOMBREMODULO (Obligatorio): Nombre del módulo instalado EN MAYÚSCULAS. Si el nombre del módulo fuese muy largo, puede utilizarse una abreviatura. Fecha: Fecha en la que se crea el TAG, con formato AAAAMMDD Version: Versión de la que se trata. Ej: v1.0.3 Ejemplo: https://subversion01.madrid.org:8443/svn/azar/entregas/20150201_AZAR_WS_v1.0.3 En el cuadro de diálogo, introducimos la URL del TAG y nos aseguramos de que está activada la casilla “Create any intermediate folders that are missing”: 29 de 36 Framework Atlas Guía de Uso de Subversion Pulsamos sobre “Next”, y en la siguiente pantalla dejamos seleccionada la opción por defecto “Head revision in the repository”, y volvemos a pulsar sobre “Next”. Esto indica a Subversion que se cree el TAG con la última versión que hay en el repositorio. Nota Como el TAG se crea con la última versión del código que hay subido al repositorio, es imprescindible recordar subir las modificaciones que tenemos en local al repositorio antes de crear el TAG. En la siguiente pantalla debemos introducir un comentario indicando el motivo de la creación del TAG, y pulsar sobre “Finish”: Con esto hemos finalizado la creación del TAG. Podemos comprobar que el TAG está creado correctamente volviendo a la perspectiva “SVN Repositories” y navegando por el servidor hasta el TAG recién creado: 30 de 36 Framework Atlas Guía de Uso de Subversion Una vez creado el TAG, podemos realizar la solicitud de instalación del TAG que acabamos de crear a la Unidad de Paso a Producción de ICM, a través de la aplicación GPAP. Nota Tras la primera instalación de una aplicación en los entornos de ICM (*), si se trata de una aplicación en tecnología ATLAS o tecnología WEBRATIO, la Unidad de Paso a Producción deberá devolvernos el fichero “environment.properties” configurado correctamente para el entorno (el que ha modificado y utilizado para desplegar la aplicación). Debemos sobreescribir nuestro fichero local asociado a ese entorno (en la carpeta “war”) con el que se nos proporciona. 31 de 36 Framework Atlas Guía de Uso de Subversion 5.1.3. Realización de una entrega varios módulos de un proyecto En el caso de que exista un proyecto con muchos módulos y se quieran entregar sólo unos cuantos de ellos se podrá realizar siguiendo los siguientes pasos 1. Realizar el tag sobre la carpeta raiz del proyecto como en el caso “Realización de una entrega con todos los módulos de un proyecto” 2. Desde la vista de SVN de Eclipse borrar los módulos que no se quieran entregar, teniendo cuidado de dejar todos aquellos que tengan dependencias entre ellos 3. Descargar la entrega a local y actualizar el pom.xml del raiz del proyecto dejando en el tag <modules> sólo los módulos que se deseen entegar 4. Hacer un commit del pom.xml de la entrega actualizado En este caso el proveedor tendrá que asegurarse de que se entregan todos los módulos que tengan dependencias entre ellos y que es coherente con el pom.xml del la carpeta raiz del proyecto El detalle de la entrega de varios los módulos de un proyecto es: Se creará el tag sobre la carpeta raiz del proyecto. Para crear el TAG, pulsaremos con el botón derecho sobre la carpeta raíz del proyecto sobre el que queremos crear el TAG, y seleccionamos “Team -> Branch/Tag…”. 32 de 36 Framework Atlas Guía de Uso de Subversion En ese momento aparece un cuadro de diálogo en el que debemos introducir la URL del repositorio en la que queremos crear el TAG. La URL tendrá el formato que se indica en el siguiente cuadro: 33 de 36 Framework Atlas Guía de Uso de Subversion URL del servidor de Subversion para crear un TAG URL: https://RutaServidorSVN/svn/ProyectoMinusculas/entregas/Fecha_Version Valores de las variables: RutaServidorSVN: Ruta del servidor de Subversion (por defecto https://subversion01.madrid.org:8443 ) ProyectoMinusculas: Nombre del proyecto en minúsculas (Ej: bsta). Fecha: Fecha en la que se crea el TAG, con formato AAAAMMDD Version: Versión de la que se trata. Ej: v1.0.3 es Ejemplo: https://subversion01.madrid.org:8443/svn/bsta/entregas/20110602_v1.0.3 En el cuadro de diálogo, introducimos la URL del TAG y nos aseguramos de que está activada la casilla “Create any intermediate folders that are missing”: 34 de 36 Framework Atlas Guía de Uso de Subversion Pulsamos sobre “Next”, y en la siguiente pantalla dejamos seleccionada la opción por defecto “Head revision in the repository”, y volvemos a pulsar sobre “Next”. Esto indica a Subversion que se cree el TAG con la última versión que hay en el repositorio. Nota Como el TAG se crea con la última versión del código que hay subido al repositorio, es imprescindible recordar subir las modificaciones que tenemos en local al repositorio antes de crear el TAG. En la siguiente pantalla debemos introducir un comentario indicando el motivo de la creación del TAG, y pulsar sobre “Finish”: Con esto hemos finalizado la creación del TAG. Podemos comprobar que el TAG está creado correctamente 35 de 36 Framework Atlas Guía de Uso de Subversion volviendo a la perspectiva “SVN Repositories” y navegando por el servidor hasta el TAG recién creado: Una vez creado el TAG desde la vista de SVN de Eclipse borrar los módulos que no se quieran entregar, teniendo cuidado de dejar todos aquellos que tengan dependencias entre ellos Descargar la entrega a local y actualizar el pom.xml del raiz del proyecto dejando en el tag <modules> sólo los módulos que se deseen entegar Hacer un commit del pom.xml de la entrega actualizado Con la entrega actualizada se puede solicitar el paso a producción mediante la aplicación GPAP 36 de 36