Esta vez vamos a ver la instalación y configuración de Apache Continuum, servidor de integración continua.
La Integración Continua es una metodología propuesta inicialmente por Martin Fowler consistente en la realización de continuas integraciones automáticas de un proyecto, de forma que sea posible detectar fallos tan rápido como sea posible.
Con Apache Continuum tendremos un sitio centralizado para la construcción de nuestros proyectos, así como para la gestión de las releases que vayamos generando.
Asimismo, seguiremos ampliando la infraestructura que hemos ido creando con Apache Archiva y Sonar.
Instalación
En primer lugar debemos descargarnos el paquete que queremos instalar. Para ello, vamos a la página de descargas y nos descargamos el archivo “apache-continuum-1.3.6.war”.
Creamos los directorios necesarios para Continuum dentro de Tomcat6 y copiamos el archivo .war:
icesoft> sudo su -
root> mkdir /var/lib/tomcat6/continuum
root> cd /var/lib/tomcat6/continuum
root> cp ~icesoft/Descargas/apache-continuum-1.3.6.war .
root> mkdir -p data/{work,build,release,deploy}
root> mkdir repository
root> chown tomcat6:tomcat6 -R data repository
root> cd ~tomcat6/.m2
root> ln -s /var/lib/tomcat6/continuum/repository
root> chown tomcat6:tomcat6 -R repository
Con esto, hemos creado los directorios de trabajo para Continuum en el directorio base (/var/lib/tomcat6/continuum), hemos creado un directorio donde Continuum almacenará el repositorio Maven que utilizará durante las compilaciones y, por último, hemos enlazado a dicho directorio desde el directorio base de Maven para el usuario tomcat6 (directorio ~tomcat6/.m2).
Configuración
La configuración es prácticamente idéntica a la de Apache Archiva, por lo que seguiremos los mismos pasos.
Configuración de la base de datos
Creamos una base de datos en MySQL llamada “continuum” y creamos un usuario con privilegios sobre la misma:
mysql> create database continuum; mysql> grant all privileges on continuum.* to continuum identified by 'continuump4ss'; mysql> flush privileges;
Configuración de Tomcat6
Debemos disponer un archivo de contexto para Continuum dentro de Tomcat6, para lo cual, creamos el archivo “/var/lib/tomcat6/conf/Catalina/localhost/continuum.xml” con el siguiente contenido:
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/continuum"
docBase="${catalina.base}/continuum/apache-continuum-1.3.6.war">
<Resource name="jdbc/users" auth="Container" type="javax.sql.DataSource"
username="continuum"
password="continuump4ss"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/continuum?autoReconnect=true" />
<Resource name="jdbc/continuum" auth="Container" type="javax.sql.DataSource"
username="continuum"
password="continuump4ss"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/continuum?autoReconnect=true" />
<Resource name="mail/Session" auth="Container"
type="javax.mail.Session"
mail.smtp.host="localhost"/>
</Context>
Además, aprovechamos que, en la instalación de Archiva, habíamos incluido las propiedades appserver.home y appserver.base en el archivo catalina.properties de Tomcat6.
Con esto, ya podríamos reiniciar Tomcat, aunque antes, debemos crear un archivo de configuración de Continuum en el directorio de configuración de Tomcat6 y poner al usuario tomcat6 como su propietario:
root> cd /var/lib/tomcat6/conf root> cat <<- _EOF_ > continuum.conf <?xml version="1.0" encoding="UTF-8"?> <continuum-configuration /> _EOF_ root> chown tomcat6:tomcat6 continuum.conf
De esta forma, cuando salvemos la configuración de Continuum desde la web, ésta se almacenará en este archivo. También podríamos establecer directamente la configuración que queremos según los directorios que hemos creado previamente, dejando el archivo de este modo:
<?xml version="1.0" encoding="UTF-8"?> <continuum-configuration> <baseUrl>http://localhost:8080/continuum</baseUrl> <buildOutputDirectory>/var/lib/tomcat6/continuum/build</buildOutputDirectory> <deploymentRepositoryDirectory>/var/lib/tomcat6/continuum/deploy</deploymentRepositoryDirectory> <workingDirectory>/var/lib/tomcat6/continuum/work</workingDirectory> <releaseOutputDirectory>/var/lib/tomcat6/continuum/release</releaseOutputDirectory> </continuum-configuration>
Reinicio de Tomcat6
Una vez hecha la configuración, reiniciamos Tomcat6:
sudo /etc/init.d/tomcat6 restart
Y accedemos a la página principal de Continuum (http://hostname:puerto/continuum). En nuestro caso, http://localhost:8080/continuum.
Al acceder a esta página, al igual que nos pasó con Archiva, se generan las tablas en base de datos y se nos pide la creación de un usuario administrador:
Una vez creado el usuario, nos aparecerá la página de configuración:
Llegados a este punto, ya podemos iniciar nuestro camino con la integración continua y desplegar nuestros proyectos Maven2 con Continuum, aunque primero es necesario añadir nuestras “instalaciones”.
Creación de Instalaciones
Una vez logados, pulsamos sobre “Installations”; a continuación, sobre el botón “Add” y estando seleccionado “Tool” como Installation Type, pulsamos de nuevo sobre el botón “Add”.
Debemos asegurarnos de seleccionar el check de “Create a Build Environment with the Installation name”. De este modo, tendremos un entorno de construcción basado en esta instalación.
Además de las versiones de Java disponibles, debemos indicar dónde tenemos Maven2 y Ant instalados. Lo más sencillo, es descargarnos el .tar.gz de las páginas de descarga de cada uno de ellos y descomprimirlo en un directorio, por ejemplo, /opt.
Habiendo instalado Maven2 y Ant, dejaríamos las instalaciones de este modo:
Y pulsando sobre el enlace “Build Environments”, vemos cómo han quedado nuestros entornos de construcción:
En el siguiente post, veremos cómo utilizar Apache Continuum en nuestros proyectos.
No hay entradas relacionadas.














