Máquina virtual con develenv

Se puede poner a funcionar develenv en una máquina virtual. En la tabla siguiente se detallan las diferentes versiones

Version develenv Distribución Sist. Operativo Memoria Disco Duro Version VirtualBox
20 Centos (6.3) (64 bits) 2GB 20Gb 4.1.22
13 Centos (6.3) (64 bits) 2GB 20Gb 4.1.20
1.9.7 Ubuntu Server(11.10) (64 bits) 2GB 7Gb 4.1.8

La máquina ha sido creada para la versión de 4.1 de virtualbox.

Los pasos a seguir para poner en funcionamiento la máquina virtual son:

Importación máquina virtual

Se han de realizar los pasos que se muestran en las siguientes capturas de pantalla.

Pantalla inicial de virtualbox

En la pantalla principal aparecen todas las máquinas virtuales asociadas a virtualbox.

Pantalla inicial VirtualBox

Importar máquina virtual

Pulsar la combinación de teclas Ctrl + I.

Asistente importación de servicio

Seleccionar máquina virtual a importar

Selecciona la máquina virtual que deseas importar.

Selección fichero con máquina vitual.

Confirmar la selección de la máquina virtual a importar

Pulsar el botón siguiente para confirmar la máquina virtual que se desea importar.

Confirmación de máquina virtual a importar

Realizar la importación

Pulsa el botón terminar para empezar con la importación de la máquina virtual.

Inicializar importación máquina virtual.

Máquina virtual importada correctamente

Se volverá a la pantalla inicial de virtualbox donde aparece la máquina virtual importada correctamente.

Máquina virutal importada correctamente

Haciendo doble-click sobre el icono de la máquina virtual importada. Se arrancará la máquina virtual. Esta máquina es accesible con usuario root y password develenv

Urls de acceso a develenv

Los usuarios/password para develenv son:
Admin develenv:
   Usuario=develenv 
   Password=develenv
   Role=Administrador de tomcat
   Url=http://int-develenv-01.hi.inet/develenv/admin/
Jenkins:
   Usuario=develenv 
   Password=develenv
   Role= Administrador de jenkins
Url=http://int-develenv-01.hi.inet/jenkins
Nexus:
   Usuario=develenv
   Password=develenv
   Role=Administrador de nexus
   Url=http://int-develenv-01.hi.inet/nexus
Sonar:
   Usuario=develenv 
   Password=develenv
   Role= Administrador de sonar
   Url=http://int-develenv-01.hi.inet/sonar
Selenium Grid:
   Url=http://int-develenv-01.hi.inet/grid
develenv: Manuales de develenv
   Usuario=anonymous 
   Password=
   Url=http://int-develenv-01.hi.inet/docs
Logs de develenv 
   Usuario=anonymous 
   Password=
   Descripción=Acceso a los logs de develenv
   Url=http://int-develenv-01.hi.inet/develenv/logs
Configuración de develenv
   Usuario=anonymous 
   Password=
   Descripción=Acceso en modo lectura a los ficheros de configuración de develenv
   Url=http://int-develenv-01.hi.inet/develenv/config
Repositorios de componentes software
   Usuario=anonymous 
   Password=
   Descripción=Descripción=Repositorios con los componentes(maven, rpms, debian, ...) generados por los diferentes jobs de jenkins
   Url=http://int-develenv-01.hi.inet/develenv/repos/
[NOTAS]
  [1] El arranque de develenv puede tardar varios minutos debido al arranque de sonar. Esto significa que durante el arranque al acceder a cualquier herramienta de develenv, el servidor devolverá 'Service Temporarily Unavailable' 
  [2] En  http://code.google.com/p/develenv-plugins/ existe una lista con los plugins disponibles para develenv (PHP, android, ...)  
  [3] En  http://code.google.com/p/develenv/wiki/newProject existe una guía para desarrollar tu primer proyecto con develenv
  [4] Las herramientas que componen develenv(sobre todo jenkins y sonar) utilizan plugins para ampliar la funcionalidad de las mismas. Estos plugins pueden consumir bastante memoria. Si develenv no arranca comprobar la memoria que queda libre en la máquina utilizando el comando free -m
  [5] Si no se va a utilizar Selenium Grid, puede desactivarse para rebajar el consumo de memoria. Consulta como hacerlo en http://int-develenv-01.hi.inet/docs/selenium/seleniumGridOff.html
  [6] develenv puede introducir algunos problemas de seguridad en el sistema. Para saber cuáles son y como elminarlos consulte http://int-develenv-01.hi.inet/docs/security.html
  [7] Consulta las últimas versiones disponibles de develenv en http://develenv.softwaresano.com
  [8] Cualquier error/sugerencia sobre develenv enviar un mail a develenv@softwaresano.com

Configuración de red de la máquina virtual

Inicialmente la máquina virtual está configurada con el tipo de conexión adaptador puente para la interfaz eth0(si se utiliza un interfaz diferente de red (por ejemplo si estamos accediendo a la red por wifi, seguramente se haya de cambiar el interfaz de red a eth1). Si la red donde va a funcionar la máquina virtual es una red con IP dinámicas, que no necesita ningún tipo de autenticación, al arrancar la máquina virtual se asignará una IP dinámica.

En este caso no se ha asignado una IP. Dos posibilidades:

Autenticación en 802.1X

Si se necesita autenticación IEEE802.1x, es necesario editar fichero /etc/network/interfaces tal y como se ve en la siguiente figura.

Una vez configurado el fichero /etc/network/interfaces, se reinicia la conexión de red.

Crear tunnel ssh para acceso a la máquina virtual

Se puede conseguir una IP, cambiando el adaptador de red de la máquina virtual al tipo NAT.

Con esto se consigue una IP, desde la cual se puede acceder a cualquier máquina de la intranet, pero no se puede acceder desde la intranet a esta máquina. Para conseguir este acceso se puede crear un tunel ssh.

En el ejemplo anterior hemos hecho un tunel ssh con la máquina cuya IP es 10.95.137.43, de forma que para acceder por ssh a la máquina virtual se ha de hacer de la siguiente forma.

carlosg@ironman:~$ ssh -p 5000 -l root@10.95.137.43

También se ha de realizar un tunnel ssh para acceder a la interfaz web de develenv desde la IP 10.95.137.43, para ello basta con crear un nuevo tunel pero esta vez en el puerto 80

root@develenv#: ssh -R 5001:localhost:80 carlosg@10.95.137.43

Una vez creado el tunel se puede acceder a la interfaz web a partir de la url http://localhost:5001

Configuración proxy para acceso a Internet

La máquina virtual supone tener acceso a Internet, en caso que el acceso a internet sea a través de un proxy hay que configurarlo, mediante la utilización de la variable http_proxy. Para ello hay que editar el fichero /home/develenv/bin/startupAll.sh

#!/bin/sh
. ${PROJECT_HOME}/bin/setEnv.sh
 echo +++++++++++++++++++++++++++++++
 echo   Inicializando develenv
 echo +++++++++++++++++++++++++++++++
su - develenv -c "Xvfb :20 -ac -screen 0 1024x768x8 2>/dev/null &"
su - develenv -c "export http_proxy=http://carlosg:mipassword@proxy.softwaresano.com;export DISPLAY=":20.0";$PROJECT_HOME/bin/startupTomcat.sh"

Ampliación de disco duro

La máquina virtual viene con un disco duro reducido de 3.5GB, donde está instalado develenv con los ejemplos. Esta máquina virtual preparada para importar 4 discos(sdb, sdc, sdd y sde) de 5GB cada uno. En esta máquina virtual se ha utilizado LVM, para poder ir incrementando el espacio en el disco duro a medida que haga falta.

Ampliar 5GB el disco /dev/sdb:

root@ironman:# #Comprobar el disco duro libre
root@ironman:# df -h
root@ironman:# cd /home/develenv/bin/expandHD.sh sdb
root@ironman:# #Si la ejecución es correcta en la partición la partición /dev/mapper/develenv-root debe tener al menos 5GB de espacio en disco
root@ironman:# df -h
S.ficheros            Tam.  Usado Disp. % Uso Montado en 
/dev/mapper/develenv-root
                      7,7G  1,2G  6,1G  16% /
none                  239M  220K  239M   1% /dev
none                  247M     0  247M   0% /dev/shm
none                  247M   40K  247M   1% /var/run
none                  247M     0  247M   0% /var/lock
/dev/sda1             228M   45M  172M  21% /boot

Acceso desde internet

Si la máquina donde se ha instalado develenv, sólo es accesible a partir del puerto ssh (puerto 22), desde internet. Se debería realizar un tunnel ssh para acceder a la interfaz web de develenv para ello basta con crear un nuevo tunel en el puerto 80 en la máquina cliente (máquina desde donde se va acceder a develenv.

Por ejemplo si la IP de de la máquina donde está instalado develenv es 193.145.50.174 y accedo desde la máquina micasa.com

root@micasa.com#: ssh -L 5001:localhost:80 root@193.145.50.174

Una vez creado el tunel se puede acceder a la interfaz web a partir de la url http://localhost:5001