sábado, 27 de septiembre de 2008

Actualizando Apache Continuum de 1.1 a 1.2

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:

  1. Instalar la versión 1.2

  2. 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

  3. Copiar la configuración de correos y puerto de ejecución.

  4. 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 -->

  5. Personalizar los correos


  6. 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>

  7. Configurar los directorios de trabajo

  8. 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>

  9. Copiar la base de datos

  10. 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.

  11. Arrancar Continuum 1.2

  12. 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

  13. Agregar los roles nuevos a usuarios ya existentes

  14. 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;


viernes, 19 de septiembre de 2008

Maven 2.1.0-M1 disponible

Hoy fue liberado al publico la versión 2.1.0-M1 de Apache Maven. Esta versión corrige unos 70 defectos por lo cual se recomienda su uso de forma inmediata. Para bajar la versión denle clic a este enlace. Para ver la lista de correcciones denle clic a este enlace.

lunes, 8 de septiembre de 2008

M2Eclipse 0.9.6 disponible

Maven Integration para Eclipse 0.9.6 esta disponible. Esta versión se encarga principalmente de arreglar defectos pero también introduce una serie de mejoras. Para mas detalle revisen este enlace.

sábado, 6 de septiembre de 2008

Reestructuración de Maven

En un post anterior indique que la version 2.0.10 de maven estaba en Release Candidate. Ayer un comunicado de los desarrolladores indica que se reestructuraron las versiones y por lo visto esta version ya no estara disponible. Los cambios son los siguientes:

2.1 se cambia a 3.0
2.0.10 se cambia a 2.1.0-M1
2.0.10 sera creada pasado ciertas correcciones de 2.1.0-M1

Para mas detalle vean el anuncio oficial

martes, 2 de septiembre de 2008

Google Chrome - La nueva forma de navegar internet

Según el blog de Google, el día de mañana será el lanzamiento de la versión beta del browser de nueva generación desarrollado por Google en unos 100 paises. Este nuevo browser totalmente opensource y basado en estandares (como Opera) se denomina Chrome y de acuerdo a la información suministrada por Google parece que va dar mucho de que hablar. La documentación disponible está en forma de comic y es bien ilustrativa, para verla denle clic aqui.