NetAdmin (just me being so Nerd)

you can’t connect the dots looking forward…

Archive for 29 August 2007

Integracion Continua — Continuum

29 August 2007

El tema de hoy es integracion continua, que es esto, para conocerlo tenemos la definicion de wikipedia que me parecio muy interesante.

Definicion: La integracion continua (continuous integration en ingles) es una metodologi­a informatica propuesta inicialmente por Martin Fowler que consiste en hacer integraciones automaticas de un proyecto lo mas a menudo posible para asi­ poder detectar fallos cuanto antes. Entendemos por integracion la compilacion y ejecucion de tests de todo un proyecto.

El proceso suele ser, cada cierto tiempo (horas), descargarse las fuentes desde el gestor de versiones (por ejemplo CVS, Subversion o Visual Source Safe) compilarlo, ejecutar tests y generar informes.

Para esto se utilizan aplicaciones como Continuum, CruiseControl o Anthill (para proyectos Java) o CruiseControl.Net para .Net, que se encargan de controlar las ejecuciones, apoyadas en otras herramientas como Ant o Maven (tambien para proyectos Java), o Nant (para .Net) que se encargan de realizar las compilaciones, ejecutar los tests y realizar los informes.

A que viene todo esto, simple, desde julio estoy trabajando en una software factory y para uno de los proyectos comenzamos a utilizar contiuum que como ya vimos es una aplicacion para integracion continua.
La cuestion fue asi, vino Beto y me comento como era la movida y que es lo que habia que instalar, por lo cual me puse a buscar algo de info mas una mano que me dio el y nos pusimos a laburarlo. Desde ya tengo que decirles que salio 10 puntos asi que ahora paso a explicarles como instalarlo y configurarlo.

Como instalar Continuum (How to install Continuum):

Prerequisitos:

Linux: en nuestro caso estamos utilizando un Ubuntu Server Feisy Fawn (7.04). Download

Luego de bajar la distro e instalar, se recomienta realizar un sudo apt-get dist-upgrade y luego instalar apache2, mysql, xorg y firefox ya que seran usados por continuum.

sudo apt-get install xorg firefox mysql apache2 mc

Continuum: Bajarlos desde este link (al momento del post version 1.1 beta 2).

Java JDK: Bajar desde este link (en nuestro caso utilizamos el ultimo release de la JDK 1.5 al momento 1.5.0_12)

Maven: Bajar desde este link (Version 2.0.7)

Tomcat: Bajar desde este link

Hacer loggin sobre el sevidor que vamos a instalar continuum, y generamos un usuario llamado continuum.

Una vez creado el usuario hacemos loggin y comenzamos a instalar el software:

Asumo que tienen instalado todo el software de base, como ser apache, mysql, xorg, firefox.

Descomprimimos tomcat, continuum y maven y /opt de la siguiente forma:

tar zxvf paquete.tar.gz o tar jxvf paquete.tar.bz2 o tar xvf paquete.tar segun el caso.

luego “instalamos” la JDK de sun, esto lo podemos hacer de 2 formas:

Le damos permiso de ejecucion al .bin que bajamos utilizando el comando: sh jdk-1_5_0_12-linux-i586.bin o cambiando los permisos:

chmod 777 jdk-1_5_0_12-linux-i586.bin y luego ./jdk-1_5_0_12-linux-i586.bin

movemos la carpeta que nos creo a /opt

vamos a nuestro home ejecutando en la consola cd y editamos el archivo .bashrc
al final del archivo deberiamos agregar unas lineas de este estilo:

export JAVA_HOME=/opt/jdk1.5.0_12
export PATH=$PATH:/opt/maven-2.0.7/bin
export DISPLAY=:0
export MAVEN_HOME=/opt/maven-2.0.7

nos deslogueamos y volvemos a loguear, luego de hacer esto corremos export en la consola y deberiamos poder visualizar estas variables ya definidas.

luego de hacer esto corremos mvn install para q nos genere el .m2 en el home del usuario.

ahora nos aseguramos que el usuario continuum sea owner del directorio continuum-1.1-beta-2 y del tomcat, asi que vamos a /opt y corremos lo siguiente:

chown -R continuum.continuum continuum-1.1-beta-2
chown -R continuum.continuum tomcat

ahora pasamos a editar el arhivo de configuracion de continuum:

mcedit /opt/continuum-1.1-beta-2/conf/plexus.xml
y buscamos el tag <jetty.port>8080</jetty.port>
lo cambiamos por <jetty.port>8088</jetty.port>

ya que nuestro tomcat va a estar levantando en el puerto 8080

Iniciamos continuum de la siguiente manera:

continuum@server:/opt/continuum-1.1-beta-2/bin/linux-x86-32$ ./run.sh

Una vez hecho esto estamos listos para iniciar continuum, ahora solo resta registrar el usuario administrador, definir un proyecto y sentarnos con el PL para continuar configurandolo, ya que ahora depende de el poner los parametros correspondientes en el pom.xml y el settings.xml

Skype y Kubuntu Feisty de 64 bit

27 August 2007

Hacia tiempo que queria instalar skype en la pc del laburo ya que se usa mucho donde trabajo y alguna vez iba a tener que usarlo para hablar con algun cliente, la cuestion es que mike, mi jefe de USA utiliza solo skype para comunicarse con nosotros, nada de msn o gtalk, asi que se hizo imperativa la instalacion en mi compu.
El problema llego cuando intente buscar una versio para Kubuntu 64bit, como casi todo soft cerrado, no hay compilacion para 64bit (si si, pq el tipo instala SO de 64bit, y bue viejo a mi me gusta asi) asi que tuve que buscar una solucion alternativa, y vi que estaba la compilacion static asi que lo baje y me lleve otra sorpresa, el static que se supone incluye todas las librerias compiladas dentro del mismo paquete estaba necesitando una libreria externa que obiamente existia pero en 64bit y este lo necesita en 32bit.
Busque un poquito en la internet y llegue a ubuntuforums con este thread del cual saque lo siguiente para solucionar el problema:


cd /home/hernan/skype
wget -q http://www.boundlesssupremacy.com/Cappy/getlibs/getlibs
chmod +x getlibs

y luego:


./getlibs skype

me pidio la contraseña para sudo, bajo la libreria que faltaba y salio andando!

Sistema Operativo: Feisty Fawn updateado al dia y con build-essential, las ia32-libs y los headers del kernel, si no los llegan a tener les recomiendo que utilicen el siguiente comando:

sudo apt-get install ia32-libs build-essential linux-headers-`uname -r`

saludos!

Dreamhost + Google Checkout imposible en Argentina

27 August 2007

Hace tiempo teniamos con pablo ganas de comprar los servicios del famoso hosting dreamhost, ya que tiene excelentes servicios, inclusive en el plan mas bajo, con unos U$D 10 podes conseguir 150gb de disco y miles de sevicios copados como svn y bases de datos ilimitadas. Pero bueno, no todo es color de rosa, el domingo 26 de Agosto de 2007 nos dispusimos a contratar el servicio, yo queria estrenar mi tarjeta de credito “internacional” y me encontre con la maldita sorpresa que Google Checkout no tiene dentro de los countries disponibles a nuestro querido pais. Por lo cual se me fue a la mierda todo lo que venia planeando hacer cuando tuviera dreamhost. Asi que ni lento ni peresozo me dispuse a escribirles a los sres de dreamhost el problema y salio algo asi:


Hi,
I'm trying to buy your services and google checkout don't have Argentina in the country combo and i can't use my visa or american express, so, how i can do to buy a crazy insane hosting service by 2 years?
thx
my best regards
Hernan.

a lo que tuve como respuesta esto:


Hernan.
It appears that your sign-up was randomly selected by our fraud-checker
to pay through Google Check-out. However, if your country is unsupported
by this method, then we can ask you to either send a check or money order
to the following address:
DreamHost Web Hosting Attn: Payments
PMB #257 417 Associated Rd.
Brea, CA 92821 USA
(write your account number on your check)
Sorry about the inconvenience, but if you have any other questions,
please don't hesitate to reply back!
Thanks,
(inserte aqui el nombre del que respondio)

No man, no te voy a mandar un cheque a estados unidos para pagarte, en que estan pensando? Es la era de las comunicaciones, las transacciones electronicas, siendo un servicio tan “groso” como puede ser que no tengas servicio en todos lados?
Visto y considerando que no iba a tener muchas soluciones por parte de esta gente me dispuse a agarrarmelas con el que realmente tiene el problema, Google. El tipo estaba loco, se iba a pelear con san Google. :P

La cosa empezo asi:

Hi,
I'm trying to buy a dreamhost service and they have a google checkout
service to manage the payment, so, in the combo is not the country
Argentina, i have an international credit card Visa and American
Express and i'm feeling discriminated if i can't use it. Tell me if in
some time i will give that service. Please see this things, sorry by my
bad english.
thanks in advanced.
Hernan.

aqui la respuesta:


Hello Carlos,
Thank you for your interest in Google Checkout.
Google Checkout is currently not available to shoppers with billing
addresses in Argentina.
Please visit this link
to view a list of those countries where Google Checkout is currently
available. Google Checkout may not be available in every country right
away but we’ll certainly try our best! To make sure our buyers from across
the globe have a wonderful experience with Google Checkout, we make every
effort to plan, test, and hone our system to meet the needs of that
country before release. We’re unable to comment on the timing of Google
Checkout availability in Argentina, but we appreciate your interest. We
look forward to offering more options in the near future.
For general program or account questions, please review our Help Center at
support.
Please feel free to reply to this email if you have any additional
questions.
Sincerely,
(inserte aqui el nombre del que respondio)
The Google Checkout Team

Re chan!!! osea que mientras no tengamos servicio, jodete.

No hay mas para agregar, me quede sin palabras.

Saludos.

Compiz en la Notebook

19 August 2007

Bueno, como a la hora de tener la notebook y dps de haber cargado la bateria me puse a instalarle SO, venia con XP lo el cual duro lo q tarda en cargar y luego llegar a inicio>apagar>reiniciar equipo. Me puse a instalar Kubuntu Feisty, reconocio todo el hardware, lo unico que por defecto te da como maximo una resolucion de 1024×768 cuando yo queria tener 1280×800 (widescreen) asi q busque el comando magico para configurarlo y listo:

1ro instalo el driver correspondiente:

sudo apt-get install xserver-xorg-video-intel

sudo dpkg-reconfigure -phigh xserver-xorg

Seleccionamos el driver i810 una vez hecho esto, configuras la resolucion que queres y listo! Luego reinicie X y probe como andaba la aceleracion con glxgears, anduvo de 10 y dije…. podria probar compiz fusion a ver q tal anda. Asi que segui el instructivo que escribi el otro dia y salio andando de una! aca les dejo un screenie!
notebook-small.jpg

Notebook HP 530

19 August 2007

Mi nuevo juguete, un dia aburrido como el domingo 19 de agosto de 2007 me levanto almuerzo, me siento frente a la pc y comienzo con el tipico domingo aburrido de todas las semanas, encima hoy hay un clima de mierda, ni da para salir. La cuestion es que me pongo a charlar con un amigo y me dice: “acabo de vender una notebook” y yo pense, “posta estas laburando un domingo?” y claro, como no iba a estar laburando si son una ganga, HP 530 notebook PC, Procesador CoreDuo, 1Gb de Ram, 120Gb SATA, DVD-RW, pantalla 15″ wide, que mas podes pedir a un precio mas que perfecto ($3600) el tipo habia vendido 2 en una rato y le dije: “y traeme una a casa, yo tb quiero!” asi que asi alegre el dia… un domingo fuera de lo comun con juguete nuevo.

Para los interesados aca les dejo un link donde pueden consultar disponibilidad por mas equipos!

hp530.jpg

Instalando Subversion SVN con WebSVN, Apache2 y DAV en Sistamas basados en Debian

16 August 2007

El titulo en ingles para google “Installing Subversion SVN with WebSVN, Apache2 and DAV on Debian based system:P

Proposito del How to:

Este how to es una forma de instalar y configurar Subversion y WebSVN en un linux basado en Debian con las siguientes caracteristicas:

-Multiples Repositorios
-Acceso a los repositorios via WebDAV
-Control de Acceso via Apache
-WebSVN securizado (Aplicacion php para busquedas faciles sobre los repos)

Instalando Apache2 con PHP5

De esta forma instalamos los paquetes necesarios de apache y php5:

apt-get install apache2 apache2.2-common apache2-mpm-worker apache2-utils php5

Instalando Subversion:

Paquetes de Subversion

Usar los siguientes comandos para instalar los paquetes necesarios para Subversion:

sudo apt-get install subversion libapache2-svn

Creando y Publicando repositorios:

Utilizar el siguiente comando para crear un repositorio:

sudo svnadmin create /path to some directory/new-project/

Una buena practica seria tener todos los repositorios en el mismo sitio, por ejemplo en /opt/svn/ (/opt/svn/repositorio)

Corregir los permisos del repositorio y darle acceso solo al usuario de apache:

chmod -R 775 /svn/new-project
chown -R www-data:www-data /svn/new-project

Configurando Apache

Ahora es el momento de configurar apache, abrir el archivo /etc/apache2/mods-available/dav_svn.conf y agregar un nuevo “directorio virtual” que haga referencia al repositorio de esta manera:

<location /new-project>
DAV svn
SVNPath /svn/new-project
AuthType Basic
AuthName "new-project"
AuthUserFile /etc/apache2/dav_svn.passwd
AuthzSVNAccessFile /etc/apache2/dav_svn.authz
Require valid-user
</location>

Crear un nuevo archivo de usuarios:

CUIDADO, este comando se debe utilizar al crear el 1er usuario:

htpasswd2 -c /etc/apache2/dav_svn.passwd nombre_usuario

Para agregar o cambiar el passowrd utilizar el siguiente comando:

htpasswd2 -m /etc/apache2/dav_svn.passwd username

New password: password

Re-type new password: password

Adding password for user username

Despues de agregar un nuevo usuario hay que agregarlo en el archivo de autorizados a modificar y agregar codigo:

Permisos de Usuarios:

En el archivo /etc/apache2/dav_svn.authz, agregar el usuario en el repositorio correspondiente en la seccion [repositorio:/].

por ejemplo:

[repositorio:/]
esteban.lopez = rw
hernan.dominguez = r

tambien se pueden generar grupos de usuarios de esta forma:

[groups]
users = esteban.lopez,hernan.dominguez

y el repo quedaria asi:

[repositorio:/]
@users = rw

Se podra acceder al repositorio via web usando la url: http://server:port/repositorio/

Despues de todos estos cambios, se debe reiniciar apache con el siguiente comando:

apache2ctl restart

Compiz Fusion

15 August 2007

Hola gente, como andan, esta vez les escribo porque instale compiz fusion en mi pc del laburo y en la de casa y la verdad que anda muy bien, inclusive en sistemas operativos de 64bit como los que estoy usando. En este caso hablamos de Kubuntu Feisty [amd64], esto ya me lo habia contado pablo hace un tiempo, de hecho lo vi y como beryl colgaba bastante feo no le di bola, pero hoy cayo beto un compañero del laburo nuevo al cual ayer le instale feisty en su flamante notebook DELL Inspiron 6400 y me dijo que habia estado tratando de hacer andar compiz sin exito. Lo cual me llevo a intentar hacerlo en mi pc (P4 HT 3.0Ghz, GeForce 5200) segui esta guia para instalar los paquetes, luego de instalarlos instale los paquetes de emerald con el siguiente comando:

sudo apt-get install emerald emerald-*

y con el siguiente comando ejecutamos compiz:

compiz --replace -c emerald &

aca les dejo un screenie para que lo vean!

compiz-fusion-small.jpg

si llegan a tener algun problema para correr compiz es posible que sea algo en xorg, asegurarse de comentar el tag de wacom, y verificar que esto que les dejo este de esta forma:

#Section "InputDevice"
# Driver "wacom"
# Identifier "stylus"
# Option "Device" "/dev/wacom" # Change to
# # /dev/input/event
# # for USB
# Option "Type" "stylus"
# Option "ForceDevice" "ISDV4" # Tablet PC ONLY
#EndSection

Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
# InputDevice "stylus" "SendCoreEvents"
# InputDevice "cursor" "SendCoreEvents"
# InputDevice "eraser" "SendCoreEvents"
EndSection

y en la parte del driver nvidia

Section "Device"
Identifier "nVidia Corporation NV34 [GeForce FX 5200]"
Driver "nvidia"
BusID "PCI:1:0:0"
Option "AddARGBGLXVisuals" "True"
EndSection

Section "Extensions"
Option "Composite" "Enable"
EndSection

Duro de Matar 4.0

11 August 2007

diehard.jpg Zarpada pelicula, excelente para ir a ver al cine, con toda la accion que podes esperar de “duro de matar” y mucho mas. Pala los geeks tiene sus cosillas, un par de consolas y graficas muy copadas que intentaremos reproducir en algun momento (seguro que alguno lo va a intentar). No les quiero contar el argumento de la pelicula pero algunas puntas ya tire, lo unico que puedo decirles es que Bruce Willis es uno de los actores que mas me gustan como labura y ver un duro de matar como la que vi es simplemente genial, amo esa sonrisa cuando termina de destruir algo. Muchas gracias a la gente de Bloggers Cut por organizar estos eventos, a Fox y a pablo por invitarme.