El lugar donde escribo lo que me pinta cuando me pinta.

posted by: hernan82arg
posted on: 30 September 2007

Artifactory es un Repositorio de Maven 2, este sirve como Proxy cache de los repositorios de maven y ademas tambien sirve como repositorio para los propios artefactos desarrollados por los programadores o empresa en el caso donde lo aplique. Esta basado en JCR (usando JackRabbit como implementacion) para guardar los artefactos y administracion de los metadatos (xml). Tiene una UI basada en wicket y usa jetty para una implementacion rapida (tambien se puede implementar sobre tomcat).

Es una aplicacion muy interesante si se usa mucho maven para los proyectos en java ya que este se baja las dependencias de internet y si tenemos unas 80 o mas personas usando la conexion a internet y nuestro ancho de banda esta colapsado todo se pone bastante lento, asi que es una opcion interesante para cachear todos los artefactos que se van usando en los proyectos y ademas nos permite subir los producidos por nosotros mismos. La web de administracion es bien ausera, lo suficiente para hacer lo que necesitamos, sin complicaciones, solo hay que tener idea de lo que queremos hacer, pero en un par de horas sale andado! Para que no se ponga celoso esto lo puse en produccion en la empresa con la ayuda de Gaston (java developer) el cual me explico mas o menos como funciona maven y me dio una mano para testearlo.

Vamos a la Instalación (todo con usuario root).

Prerequisitos:

Tenemos que tener la jdk 1.5 o mayor de java instalada y JAVA_HOME definida.

Descargamos la jdk de la pagina oficial de sun y lo descomprimimos en /opt

Instalar Artifactory:

Descargamos artifactory de la pagina oficial y lo descomprimimos en /opt

Una vez hecho esto fijamos las variables de entorno en el archivo .bashrc de root para correr la aplicacion,

mcedit /root/.bashrc

agregamos lo siguiente al final el archivo:

export ARTIFACTORY_HOME=/opt/artifactory-1.2.2
export JAVA_HOME=/opt/jdk1.5.0_12

una vez hecho esto editamos el archivo jetty.xml:

mcedit $ARTIFACTORY_HOME/etc/jetty.xml

buscamos esta linea:

<set name="port"><systemproperty name="jetty.port" default="8080"></systemproperty></set>

y la cambiamos por:

<set name="port"><systemproperty name="jetty.port" default="8081"></systemproperty></set>

para cambiar el puerto donde levanta el servicio.

Una vez hecho esto solo queda iniciar el servicio y loguear (user: admin y password: password)

cd $ARTIFACTORY_HOME/bin
artifactoryctl start

podemos agregar repositorios en el archivo de configuracion artifactory.config.xml como por ej en nuestro caso agregamos OpenQA.

mcedit $ARTIFACTORY_HOME/etc/artifactory.config.xml

y agregamos el repo que necesitemos:


<remoteRepository>
<key>OpenQA</key>
<description>OpenQA</description>
<handleReleases>true</handleReleases>
<handleSnapshots>true</handleSnapshots>
<excludesPattern>org/artifactory/**,org/jfrog/**</excludesPattern>
<url>http://maven.openqa.org</url>
</remoteRepository>

Una vez hecho esto reiniciamos el servicio y listo.

Para agregar nuestros propios artefactos hay que hacerlo via interfaz web, solo con subir el jar (si esta bien hecho) alcanza.

Luego debermos agregar lo siguiente en el pom.xml del proyecto para utilizar el proxy.


<repositories>
<repository>
<id>central</id>
<url>http://[your server name]:[port]/artifactory/repo</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>snapshots</id>
<url>http://[your server name]:[port]/artifactory/repo</url>
<releases>
<enabled>false</enabled>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>http://[your server name]:[port]/artifactory/plugins-releases</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>snapshots</id>
<url>http://[your server name]:[port]/artifactory/plugins-snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
</pluginRepository>
</pluginRepositories>

Y listo, ya estamos usando artifactory!

posted by: hernan82arg
posted on: 22 September 2007

Ultimamente estuve teniendo algunos problemas de instalacion de kubuntu en algunas maquinas, mas especificamente en unas notebook dell y algunos clones con mother pedorro.

Los modelos de las dell eran Dell Vostro 1500 y Dell Vostro 1700.

La cuestion es que al poner el cd de kubuntu para instalar me tiraba un error muy feo en la consola y no levantaba. El error era el siguiente:

/bin/sh: can't access tty; job control off
(initramfs)

una cosa muy loca, leyendo por la internet con el amigo google y ubuntuforums.org encontre que el problema es que no levanta el driver adecuado para el chipset que controla los discos y la lectora de cd, mas especificamente este ultimo, por lo cual uno llegaria a pensar… como puede ser que mientras esta cargando no pueda acceder al cd-rom si lo esta haciendo precisamente de ahi. Pero aca viene la cosa, como todo bootloader estos no acceden a particiones en forma logica, si no fisicamente, por ende la cosa va bit a bit y asi es como comienza cargar el kernel pero cuando llega al punto de que el kernel cargo y el resto del soft quiere empezar a ejecutarse no puede porque no se carga un modulo que corresponde para que siga leyendo el disco, esta vez logicamente. La solucion es pasarle un parametro al kernel para que pare justo cuando termina de cargar y asi levantar el modulo necesario a mano. Lo cual hacemos de la siguiente manera:

Al bootear con el live-cd nos presenta las opciones tipicas de instalacion y vemos el contador de 30seg bajando, en ese momento seleccionamos safe video mode y apretamos F6, esto nos va a permir escribir sobre la linea del kernel y lo que tenemos que hacer es borrar el quiet splash e ir al principio de la linea para agregar break=top con lo cual vamos a hacer que el kernel haga esta parada necesaria para poder levantar el modulo piix manualmente.
Una vez que booteamos y nos da el prompt para escribir comandos ponemos lo siguiente
modprobe piix
exit

Con esto vamos a lograr que bootee, una vez que inicio podemos correr la instalacion normalmente.
Para las Dell hasta aca llegamos perfectamente, solo queda agregar el modulo en /etc/modules para que lo levanta cuando bootea ya que solo lo usa para la lectora de dvd y nada mas.

En el segundo caso, con el mother pedorro, pude instalar pefectamente de esta manera pero al reiniciar me lleve la sorpresa que no booteaba, me tiraba el mismo error, y claro en este caso si usaba el mismo modulo para el disco por lo cual no andaba ni para atras, lo que tenia que lograr era que quede por defecto para que levante con el kernel, ya que hacerlo a manopla cada vez que iniciaba no era lo mas comodo, asi que encontre este metodo para hacerlo (es una modificacion de algo que lei):
En principio el que lo escribio lo hizo montando el disco rigido desde el live cd y haciendo un chroot pero a mi se me ocurrio levantar el driver del disco como habiamos hecho antes, entonces al aparecer grub toque Esc y me dio la consola para editar los parametros y con “e” me permitio editar la linea, otra vez puse justo despues del path al binario del kernel y antes de root=blablabla el famoso break=top y lo hice bootear, otra vez lo mismo, modprobe piix, exit y estaba en la maquina, ahora lo que tenemos que hacer es meter el modulo piix en el initrd para que lo cargue al iniciar. Asi que lo hacemos de la siguiente forma:

Editamos el archivo /etc/initramfs-tools/modules y al final del archivo agregamos piix.

luego corremos el siguiente comando:

sudo update-initramfs -u

y listo, reinciamos el equipo y estamos 100% funcionales!

saludos!

posted by: hernan82arg
posted on: 17 September 2007

As we all know, since the begining of internet, the e-mail was one the thins mostly used, the first what i remember was the email accounts were paid, the email servers buy crazy amounts by 2Mb as the best service. But now we can let that behind for the newest e-mail services “free e-mail services” (full of ads) without space limit as yahoo (it’s hard for me believe that, i think they just take of the space meter) because, think this, almost 5Gb of email storage, u have to use the service, sending photos, music and documents every day to fill out one of that accounts. Buy the way, i was looking for a email contact at hotmail and it surprise me hotmail give up the storage to 5Gb…. hotmail-small.jpg crazy thing……. google…. where are u? i want that storage at my gmail account.
gmail-small.jpg
Please Mr Google, upgrade all accounts.
After see how hotmail increases their storage i want to looking for into yahoo and i found that they has a new interface beta to test, it was so interesting to me but as i don’t use yahoo, i don’t care, i don’t gonna use it :P here is the screenshot!
yahoo-verysmall.jpg

cheers!

posted by: hernan82arg
posted on: 14 September 2007

www.dreamhost.comPor fin, hasta que tuve tiempo para escribir, bueno, siguiendo con el tema de DreamHost, pude pagar el servicio. Obviamente no desde Argentina, pero como tengo la suerte de tener a mi viejo en España, un pais habilitado para pagar con google checkout pude hacer el pago… ahora todavia no entiendo porque no puedo hacer el pago con mi tarjeta, para que mierda tengo 2 tarjetas internacionales si no puedo pagar el fucking servicio (si, me quede caliente), bue ya esta, tengo dreamhost por 2 años un servicio mas que excelente, acceso ssh, 200Gb de disco, 2Tb de transferencia mensual, svn, dominios y subdominios ilimitados, bases mysql ilimitadas y muchas cosas mas.

posted by: hernan82arg
posted on: 10 September 2007

El otro dia estaba leyendo a fabio y encontre un post que hablaba sobre este mismo tema, virtualbox 1.5, una alternativa que permite hacer lo mismo que VMWare pero gratuitamente. Creo que a esta altura no hace falta que explique lo que es un soft de virtualizacion como VMWare, pero para hacerla corta lo que este soft nos permite es instalar un sistema operativo dentro de otro, haciendole creer al “invitado” o sistema operativo instalado sobre esta virtual que es una computadora con ciertas carcteristicas fijadas por la configuracion del software de virtualizacion.

La novedad de este soft es que permite trabajar en modo “Seamless”, osea, te permite tener la barra de windows y los programas que estes corriendo en el escritorio linux que estes usando, en mi caso kde.

virtualbox-small.jpg

Definitivamente una alternativa interesante a crossover office, que aveces es bastante bueno en su funcion pero me ha pasado que me colgo un excel en el medio del laburo y casi mato a alguien!

Ahora vamos a los pasos de la instalacion:

En el wiki de virtualbox esta bastante simple la cosa, porque claro, como no va a ser facil, en principio tienen paquetes precompilados para MUCHOS sistemas operativos:

* VirtualBox 1.5.0 for Windows hosts x86 | AMD64

* VirtualBox for OS X Hosts (Beta 2; Intel Macs only)

* VirtualBox 1.5.0 for Linux Hosts:
o Ubuntu 7.04 (”Feisty Fawn”)
i386
| AMD64
o Ubuntu 6.10 (”Edgy Eft”) i386
o Ubuntu 6.06 LTS (”Dapper Drake”) i386
o Debian 4.0 (”Etch”) i386 | AMD64
o Debian 3.1 (”Sarge”) i386
o Univention Corporate Server 1.3-2 instructions
o openSUSE 10.2 i386 | AMD64
o SUSE Linux Enterprise Server 10 (SLES10) i386 | AMD64
o Fedora 7 (”Moonshine”) i386 | AMD64
o Fedora 6 (”Zod”) i386
o Mandriva 2007.1 i386
o Red Hat Enterprise Linux 5 (”RHEL5″) i386 | AMD64
o Red Hat Enterprise Linux 4 (”RHEL4″) i386
o Xandros Desktop 4.1 i386
o All distributions i386 | AMD64

La verdad me parecio muy groso que tengan todos los paquetes precompilados para tantas distribuciones, windows y mac osx. En mi caso yo use la opcion mas interesante, ya que tengo kubuntu 7.04 (feisty fawn) agregue los repositorios de virtualbox a mi sources.list y con un solo comando tenia todo instalado.

Hay que agregar el repo correspondiente a la version de linux :
deb http://www.virtualbox.org/debian feisty non-free
deb http://www.virtualbox.org/debian edgy non-free
deb http://www.virtualbox.org/debian dapper non-free
deb http://www.virtualbox.org/debian etch non-free
deb http://www.virtualbox.org/debian sarge non-free
deb http://www.virtualbox.org/debian xandros4.0-xn non-free

usar solo la linea que corresponde a la version de la distro

sudo vim /etc/apt/sources.list

luego hay q bajar e instalar la gpg key de virtual box, e instalarlo de la siguiente forma:

sudo apt-key add innotek.asc

luego a instalar virtual box:

sudo apt-get update
sudo apt-get install virtualbox

eso va a resolver algunas dependencias, bajar todos los paquetes e instalar, luego nos va a pedir que aceptemos la licencia personal PUEL. Y por ultimo deberemos editar el archivo /etc/group para agregarnos en el nuevo grupo vboxusers para tener permisos y poder utilizarlo.

Yo lo probe en mi notebook, core duo de 1.6ghz con 2Mb de cache y 1 Gb de ram y la verdad que me parecio MUY rapido, y como que consume menos recursos que VMWare asi que fue una buena opcion! Saludos.