La versión 1.2 de Apache Continuum contiene una gran cantidad de mejoras con respecto a la versión anterior por lo que se recomienda su actualización.
A continuación describo los pasos necesarios para hacerlo:
Como punto final, si la versión 1.1 desde donde se esta actualizando no era la 1.1 final sino una versión alfa o beta lo mas seguro es que el defecto CONTINUUM-1688 este presente. Para arreglarlo debemos hacer lo siguiente
Si no se tiene Derby Db instalado debemos bajar el instalador y descomprimirlo.
Definimos la variable de ambiente DERBY_HOME apuntando al directorio donde instalamos derby.
Usando ij ejecutamos el script que altera la bd
A continuación describo los pasos necesarios para hacerlo:
- Instalar la versión 1.2
- Copiar la configuración de correos y puerto de ejecución.
- Personalizar los correos
- Configurar los directorios de trabajo
- Copiar la base de datos
- Arrancar Continuum 1.2
- Agregar los roles nuevos a usuarios ya existentes
Lo primero que debemos hacer es bajar el instalador y descomprimirlo en la ubicación deseada. La aplicación quedará instalada en el directorio
apache-continuum-1.2
En la versión 1.1 esta configuración se encontraba en el archivo
continuum-1.1/conf/plexus.xml
Ahora se encuentra en el archivo
apache-continuum-1.2/conf/jetty.xml
Para cambiar los valores del servidor de correo debemos actualizar esta sección. Aquí colocamos los valores del servidor y del usuario si se requiere autenticación.
<!-- continuum configuration -->
<!-- START SNIPPET: mail -->
<New id="validation_mail" class="org.mortbay.jetty.plus.naming.Resource">
<Arg>mail/Session</Arg>
<Arg>
<New class="org.mortbay.naming.factories.MailSessionReference">
<Set name="user"></Set>
<Set name="password"></Set>
<Set name="properties">
<New class="java.util.Properties">
<Put name="mail.smtp.host">localhost</Put>
</New>
</Set>
</New>
</Arg>
</New>
<!-- END SNIPPET: mail -->
En el mismo archivo podemos cambiar el puerto de ejecución el cual tiene por defecto el valo 8080, cambiando la entrada de jetty.port
<!-- START SNIPPET: jetty_port -->
<Call name="addConnector">
<Arg>
<New class="org.mortbay.jetty.nio.SelectChannelConnector">
<Set name="host"><SystemProperty name="jetty.host" /></Set>
<Set name="port"><SystemProperty name="jetty.port" default="8080"/></Set>
<Set name="maxIdleTime">30000</Set>
<Set name="Acceptors">2</Set>
<Set name="statsOn">false</Set>
<Set name="confidentialPort">8443</Set>
<Set name="lowResourcesConnections">5000</Set>
<Set name="lowResourcesMaxIdleTime">5000</Set>
</New>
</Arg>
</Call>
<!-- END SNIPPET: jetty_port -->
Al igual que en la versión 1.1, esta configuración se encuentra en el archivo
apache-continuum-1.2/apps/continuum/webapp/WEB-INF/classes/META-INF/plexus/application.xml
Las entradas que podemos personalizar aquí son
Dirección de envio y asunto del correo
<from-mailbox>midireccion@miserver.com</from-mailbox>
<from-name>Integracion Continua</from-name>
<timestamp-format>EEE d MMM yyyy HH:mm:ss Z</timestamp-format>
<subject-format>[continuum] BUILD ${state}: ${project.projectGroup.name} - ${project.name} - ${build.buildDefinition.description}</subject-format>
Contenido del correo. Se debe colocar en
true
los valores que se quieran activar
<includeBuildResult>true</includeBuildResult>
<includeBuildSummary>true</includeBuildSummary>
<includeTestSummary>true</includeTestSummary>
<includeOutput>true</includeOutput>
<alwaysSend>false</alwaysSend>
Se debe editar el siguiente archivo
apache-continuum-1.2/conf/continuum.xml
y agregarlas siguientes entradas con los valores correspondientes al ambiente local
<?xml version="1.0" encoding="UTF-8"?>
<continuum-configuration>
<baseUrl>http://localhost:8085/continuum</baseUrl>
<buildOutputDirectory>/export/home/myuser/apache-continuum-1.2/target/build-output-directory</buildOutputDirectory>
<workingDirectory>/export/home/myuser/apache-continuum-1.2/target/working-directory</workingDirectory>
<releaseOutputDirectory>/export/home/myuser/apache-continuum-1.2/target/release-output-directory</releaseOutputDirectory>
</continuum-configuration>
Debemos copiar las bases de datos de proyectos y usuarios de 1.1 a 1.2
Creamos directorios de datos
cd ~/apache-continuum-1.2/
mkdir data
mkdir data/databases
cd data/databases
mkdir continuum
mkdir users
Proyectos
cd ~/continuum-1.1/data/continuum/database
tar -cvf continuum.tar *
cd ~/apache-continuum-1.2/data/databases/continuum
rm -fr *
tar -xvf ~/continuum-1.1/data/continuum/database/continuum.tar
Usuarios
cd ~/continuum-1.1/data/users/database
tar -cvf users.tar *
cd ~/apache-continuum-1.2/data/databases/users
rm -fr *
tar -xvf ~/continuum-1.1/data/users/database/users.tar
* NOTA WINDOWS: no se porque pero en mi ambiente la base de datos siempre se crea en el directorio apache-continuum-1.2/logs/data. Quizas sea un defecto de la aplicación.
A diferencia de la versión 1.1 donde había un script por cada tipo de ambiente, en esta versión hay un solo script para ejecutar: continuum. Este comando requiere Java 5 o superior para correr.
Linux
cd ~/apache-continuum-1.2/bin
./continuum start
Windows (se debe instalar como servicio primero)
cd apache-continuum-1.2/bin
continuum.bat install
continuum.bat start
Se puede verificar la salida en el archivo logs/continuum.log
cd apache-continuum-1.2/logs
tail -100f continuum.log
Una vez que se hace login a la aplicación con un usuario administrador, se debe entrar a la opción de administración de usuarios y agregar los nuevos roles definidos en la versión 1.2 a cada usuario. Si no se hace esto las opciones local repositories y purge configuration no apareceran en el menu.
Como punto final, si la versión 1.1 desde donde se esta actualizando no era la 1.1 final sino una versión alfa o beta lo mas seguro es que el defecto CONTINUUM-1688 este presente. Para arreglarlo debemos hacer lo siguiente
Si no se tiene Derby Db instalado debemos bajar el instalador y descomprimirlo.
Definimos la variable de ambiente DERBY_HOME apuntando al directorio donde instalamos derby.
Usando ij ejecutamos el script que altera la bd
cd $DERBY_HOME/bin
ij
ij version 10.4
ij> connect 'jdbc:derby:~/apache-continuum-1.2/data/continuum/database';
ij> select count(*) from sa.CHANGESET;
1
-----------
2894
1 row selected
ij> alter table SA.CHANGESET alter column CHANGECOMMENT SET DATA TYPE varchar(8192);
0 rows inserted/updated/deleted
ij>exit;
No hay comentarios.:
Publicar un comentario