Configuraciones subversion,apache,trac,hudson

En la presente entrada hay un resúmen sobre los principales comandos utilizados en las herramientas subversion, apache, trac y hudson, a manera de guía rápida, así como alunos conceptos.

Subversion

Es un sistema de control de versiones libre, nos sirve para manejar ficheros y directorios a través del tiempo, para ésto hace uso de un árbol de ficheros creado como repositorio central que va almacenando todos los cambios hechos a sus ficheros y directorios, permitiendo así recuperar versiones antiguas de sus datos, o examinar el historial de cambios de los mismos.


Subversion proporciona las siguientes características:

- Versionamiento de directorios- Historial de Versiones

- Envíos atómicos

- Versionado de metadatos

- Elección de las capas de red

- Manipulación consistente de datos

- Ramificación y etiquetado eficientes

- Hackbility

Hudson

Hudson es una herramienta de integración continua escrita en Java, que se ejecuta en un contenedor de servlets, tales como Apache Tomcat o el servidor de aplicaciones GlassFish. Apoya a herramientas SCM tales como CVS, Subversion, Git y ClearCase y puede ejecutar Apache Apache Ant y Maven proyectos, así como los scripts de shell arbitrarios y lote de comandos de Windows. La construcción se puede iniciar por diversos medios, se puede incluir la programación a través de un mecanismo similar a cron y pidiendo a construir una dirección URL.
Hudson es un proyecto de código abierto, y su principal promotor de Hudson es Kohsuke Kawaguchi, quien trabaja para Sun Microsystems.

Tomcat

Es un servidor de servlets, liviano y principalmente soportar hudson.

Parte práctica

- Instalación de subversion
- Instalación trac
- Instalación hudson
- Configurar apache con soporte de webDAV y enlazarlo con subversion
- Configurar apache con soporte para python y que trac funcione a traves de apache y no stand-alone server
- Creación de un repositorio con la estructura básica (trunk,branches,tags)
- Creación de un proyecto java (no importa que sea un hola mundo) y que lo ubiquen en el trunk del respositorio
- Configurar hudson para que efectue al menos 3 construcciones exitosas a partir del repositorio web
- Configurar trac para que soporte el proyecto creado en subversion
- Modificar o utilizar un css elaborado (cualquiera) para darle buen aspecto al front-end web de subversion
- Enlazar trac con la exploración de hudson mediange el plugin de hudson y trac, tambien incluir un screenshot donde sea evidente que se han enlazado

**A continuación el desarrollo de la practica**

Instalando paquetes...


Con permisos root instalamos los paquetes necesarios para la configucacion de SubVersion con los siguientes comandos:

# apt-get update
# apt-get install subversion
# apt-get install libapache2-svn


El paquete libapache2-svn instalará el módulo de Apache WebDAV subversión.

Crear Repositorios

Para crear repositorios se usan los comandos:

# mkdir /var/svn-repos/
# svnadmin create --fs-type fsfs /var/svn-repos/practica1

En donde practica1 es el nombre que le puse a mi practica :D, luego se le deben asignar permisos (exactamente igual para evitar complicaciones :S), y se crea un grupo con los siguientes comandos (se pueden crear todos los grupos que queramos):

# groupadd subversion
# addgroup ale subversion
# chown -R www-data:subversion /var/svn-repos/*
# chmod -R 770 /var/svn-repos/*


Ahora la estructura del repositorio consiste en los subdirectorios trunk, tags y branches que es donde se guarda tod el código de nuestro proyecto:

$ sudo svn mkdir --message="mensaje de que se estan inicializando..." \
file:///var/svn-repos/trunk \
file:///var/svn-repos/tags \
file:///var/svn-repos/branches

Subversion WebDAV

Se utilizan los comandos:

# a2enmod dav
# a2enmod dav_svn


Tambien se pueden asignar usuarios a los grupos con el siguiente comando:

# htpasswd -c /etc/apache2/dav_svn.passwd cindy

Ahora hay q modificar el archivo /etc/apache2/mods-available/dav_svn.conf con las lineas de código:

<
Location /practica1>
DAV svn
SVNPath /var/svn-repos/practica1
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
< /Location >

por ultimo se debe reiniciar apache:

# /etc/init.d/apache2 restart

El repositorio se encuentra en la url:

http://localhost/practica1/


Autenticación


Este pantallazo lo saque despues de varios cambios

Unir con un proyecto de netbeans

Como el objetivo de la practica es solo unir un proyecto para manejarlo en el repositorio de subversion, entonces solo hay que crear un proyecto java simple con algunas lineas de codigo iniciales para probar los cambios (hola mundo).



La parte importante es importar el proyecto a nuestro repositorio, esto se hace con el comando:

# svn import proyecto http://localhos/rutadelrepositorio -m "inicio"

También existen otras funciones como checkin y checkout (las definiciones estan en el otro post):

# svn commit -m "..cambiando algo" http://localhost/rutarepositorio/rutaproy # svn checkout http://localhost/rutarepositorio/projecto/trunk miproyecto

Después de enlazar el proyecto de netbeans con subversion, todos los archivos de éste, tienen activadas las opciones para subversion como commit, diff, update, etc, ya de forma grafica.



Algo importante para realizar los commits, es configurar el versionamiento en netbeans (esta en la barra de herramientas). Despues de realizar los cambios sobre el proyecto, se pueden ver en el repositorio.



Ahora Hudson

Para la configuracion de hudson se debe tener instalado un openjdk o sunjdk, una version de apache y el war de hudson, que se puede descargar de la pagina https://hudson.dev.java.net. Para éste ejemplo se va trabajar sobre la carpeta /srv. Debemos asignar permisos e inicializar el tomcat.

#chmod 777 srv #/srv/apache-tomcat-xxx/bin/startup.sh

Si todo se configuro bien, se deberia visualizar la pagina inicial de apache en la url: http://localhost:8080/
Ahora debemos detener el apache con el comando shutdown, y copiar el archivo de hudson sobre:

#/srv/apache-tomcat-xxx/webapps

y reiniciar el apache, hudson debe poder visualizarse sobre la url: http://localhost:8080/hudson.



Para enlazar los proyectos a hudson solo se debe utilizar la interfaz grafica que se muestra en el browser, y todos los pasos son simples siguiendo la creación de un "new job".

Ahora trac

Para la instalacion se debe ejecutar el comando:

#sudo apt-get install trac

Crearemos un directorio para almacenar un proyecto de trac, en este caso trabajamos otra vez sobre la carpeta /srv:

#mkdir /srv/trac

Y se crea un nuevo entorno con el comando:

#trac-admin /svr/trac/practica1 initenv

Se recomienda ingresar los datos sugeridos por el instalador. Al final damos los permisos a la carpeta

#sudo chown -R www-data:www-data /srv/trac

Como se debe habilitar modo python, se instala el paquete:

libapache2-mod-python

Por ultimo se configura el archivo de configuración que se encuentra en el directorio /etc/apache2 y le agregamos la siguiente información:


SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv /srv/trac/practica1
PythonOption TracUriRoot /trac/
practica1

practica1>
DAV svn
SVNPath /var/svn-repos/
practica1
AuthType Basic
AuthName “Repositorio Virtual”
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user

Y por ultimo se reinicia nuevamente el apache

#/etc/init.d/apache2 restart

Finalmente podemos visualizar un nuevo repositorio de trac en la url: http://localhost/trac/practica1


Finalmente el screenshot de mi UUID:

En esta entrada se encuentra una descripción mas detallada del uso en linea de comandos de subversion tanto para svn como para svnadmin, algunas herramientas similares a hudson y trac y una comparación entre las herramientas. Finalmente se da una justificación del porqué elegir o no hudson y trac.

SUBVERSION

Subversion contiene varios componentes que ayudan a la creación, eliminación, mantenimiento y navegación de repositorios, los dos principales son:

- svn

- svnadmin

Comandos principales:

Create

Permite la creación de un nuevo repositorio.

$ svnadmin create /var/repositorios/repo1

Import

Permite importar archivos o directorios dentro de un repositorio

$ svn import /tmp/project file:///var/repositorios/repo1 -m “import inicial”

Checkout

Permite obtener una copia del repositorio de trabajo

$ svn checkout file:///var/repositorios/repo1/trunk project

Diff

Permite ver las diferencias entre el repositorio y la copia local de trabajo originadas los por cambios hechos por el usuario

$svn diff

Add

Añade ficheros y directorios al repositorio

Svn add PATH…

$svn add foo.c

Checkout

Obtiene una copia local de trabajo de un repositorio

Svn checkoutURL… [PATH]

$svn checkout http://localhost/svn mine

Commit

Envía los cambios de la copia local de trabajo al repositorio

Svn commit [PATH…]

$svn commit –m “haciendo commit de cambios”

Export

Exporta un árbol de directorios limpio.

Svn export PATH1 PATH2

$svn export http://localhost/svn my_repositorio

Import

Envía de forma recursiva los cambios de PATH en URL

Svn import [PATH] URL

$svn import –m “nuevo import” repositorio1 http://localhost/svn

Update

Permite actualizar la copia local de trabajo, incluyendo los cambios que pueda contener el repositorio

$svn update

Revert

Descarta cambios de un fichero del repositorio local o copia de trabajo.

$svn revert foo.c

La flor no nace para ser hermosa

La flor no nace para ser hermosa… Nace para ser flor

Su belleza requiere de que quien la mire tenga la capacidad para descubrirla.

Pueden pasar a su lado cientos… miles… Algunos ni siquiera se percatarán de su existencia.

Otros no encontrarán en ella nada singular que la haga resaltar del paisaje que la contiene.

Habrá quienes pensarán solo es una flor más.

Aún tal vez aparezcan los que le dedicarán un par de miradas atraídos por sus colores y seguirán su camino.

Pero en algún momento aparecerá quien no la considere una flor más, y tenga todo el tiempo necesario para deleitarse observándola en cada milímetro, descubra nuevas sensaciones al acariciar suavemente sus pétalos, y no siga de largo, sino que decida que es una flor demasiado hermosa para no conservarla.

Así con profundo cuidado y amor, cavará en torno de su raíz y poniendo todo su cariño y atención la llevará a su propio jardín donde a cada momento pueda tenerla cerca para quererla, apreciarla, dejarse cautivar por ella… para amarla.

Y no le pedirá que cambie su color, su forma, su aroma. Ella nació flor. Ella nació así.

Así también tu vida puede ser como esa flor. Tal vez pasen cientos o miles a tu lado sin percatarse de tus valores, de tus sentimientos, de tu propia existencia.

Hasta que alguien con la capacidad interior necesaria te descubrirá en medio del mundo. Posará en ti sus ojos y te hará parte de su mundo sin que para ello debas cambiar o mostrarte en forma distinta.

Alégrate de haber nacido como eres y espera la llegada de ese gran día!

Cómo piensan las mujeres?


Un día Dios le hablo a un hombre y le dijo que pidiera cualquier cosa, no importara qué, se lo iba conceder.
Después de pensar qué era lo que mas deseaba, el hombre le dijo a Dios que quería ir a Hawaii, pero que tenía miedo de viajar por aire y por mar, entonces le pidio que le construyera un puente que le permitiera cruzar hasta la isla.
Dios entonces le dijo al hombre que no le podía conceder ese deseo porque afectaría el ecosistema que existía en el mar y otros factores que afectarían la tierra, pero que pidiera otro deseo.
El hombre despues de pensar un buen momento le pidió a Dios la sabiduría para poder comprender a las mujeres...
a lo que Dios respondió: Y como de cuantos carriles es el puente??

La acción de decidir


Haciendo una analogía del diálogo entre Gandalf y Frodo en "El señor de los anillos":

-Frodo: Ojalá el Anillo nunca hubiera llegado a mí. Ojalá nada hubiera ocurrido.

-Gandalf: Eso desean quienes viven estos tiempos, pero no les toca a ellos decidir. Solo tú puedes decidir qué hacer con el tiempo que se te ha dado. Hay otras fuerzas actuando en el mundo además del mal. Bilbo estaba destinado a encontrar el Anillo, por tanto tu también estabas destinado a tenerlo. Y eso es un pensamiento alentador.

Decidir es la más sublime expresión de nuestra libertad, ejercer nuestro albedrío eligiendo entre dos o más alternativas, cuando tenenemos la capacidad de aceptar o rechazar, es cuando nuestra voluntad se pone de manifiesto, por eso sólo el ser auténticamente libre puede decidir, y la libertad es plena cuando asumimos responsablemente las consecuencias de nuestra decisión.

Una persona es libre de hacer lo que quiera, siempre y cuando responda a lo que de ello resulte.

La vida nos impone muchos deberes y la mayoría de la gente los arrastra con un sentimiento de mártir incomprendido. No propongo que no asumamos nuestras responsabilidades, todo lo contrario, pero avalado por mi propia conciencia y voluntad y trasladar el debo al quiero hacer las cosas, lo cual se logra sólo a través de la autodirección de mi existir.

Si aspiramos a alcanzar la excelencia en nuestra empresa se hace necesario lograr un cambio de actitud de todos sus integrantes, para que vivan el espíritu de querer hacer las cosas y no tener que hacerlas.

Es vital crearnos el hábido de decidir si verdaderamente queremo ser libres y de responder conscientemente a sus consecuencias, es el camino a la liberación auténtica el dejar de ser reactivo a las circunstancias.

--Compromisos para ser lider. M.A. Cornejo.

Usted es un empresario


Un empresario de NY soltó un dólar en la taza de un vendedor de lápices y de prisa se subió al carro del subterráneo. Pensando en su acción, salió del carro, fue hasta donde el vendedor callejero y sacó varios lápices de la taza. Para disculparse, explicó que en su prisa había olvidado tomar sus lápices y esperaba que el hombre no se sintiera molesto. "Despues de todo", dijo, "usted es empresario igual que yo. Tiene mercancí a que vender y tiene un precio justo". Luego tomó el siguiente tren.


En una función social pocos meses después, se presentó ante el empresario un vendedor vestido nítidamente. "Quizás no me recuerde y yo no conozco su nombre, pero jamás le olvidaré. Usted es quien me devolvió mi respeto propio. Yo era un pedigueño que venía lápices hasta que usted vido a decirme que era un comerciante"

Muchas personas han ido más lejos de lo que pensaban debido a que alguien distinto pensó que podrían hacerlo.

Cómo ve a los demás?

El mayor bien que podemos hacer por cualquiera es no compartir nuestra riqueza con ellos, sino revelarles nuestra propia riqueza. Es sorprendente cuánto talento y habilidad residen dentro de las personas, es importante conocer el potencial que otros tienen para poder llegar al éxito de la organización.

El valor del capital humano


El vendedor de globos


Hace varios años, un vendedor de globos vendía su producto en las calles de NY. Cuando el negocio bajaba un poco, soltaba un globo. Al flotar en el aire, se reunía una nueva multitud de compradores y su negocio se fortalecía por unos minutos. Alternaba los colores; primero soltaba uno blanco, luego uno rojo y después uno amarillo. Al cabo de un tiempo, un pequeño niño negro le jaló la manga del saco, miró al vendedor a los ojos y le planteó una pregunta penetrante: "Señor, si soltara un globo negro, subiría?" El vendedor de globos miró al pequeño y con compasión, sabiduría y comprensión le dijo: "Hijo, lo que los hace subir es lo que está adentro de ellos". Ciertamente, el pequeño tuvo la fortuna de encontrar una persona que veía no solo con sus ojos. Con buenos ojos se puede ver para caminar o para correr. La persona que ve con el corazón y con los ojos también puede alcanzar a apreciar el verdadero valor que existe dentro de otro ser humano.


LO QUE ESTÁ DENTRO DE NOSOTROS ES LO QUE NOS HARÁ SUBIR.

Tip de un estratega


Un estratega es un visionario que sabe reaccionar ante cualquier situación que se presente en su entorno por medio de estrategias que forma guiandose muchas veces de sus facultades naturales, una característica del estratega es el aprovechamiento, optimización o sacar el máximo beneficio de su tiempo, como bien sabemos en nuestra carrera como profesionales, el tiempo es uno de nuestros recursos más valiosos, he aquí una estimación del tiempo que tenemos...

Imagina que existe un banco

imagina que cada mañana este banco acredita en tu cuenta la suma de US$86,400.

la condición es que tu saldo no se acumula día a día, cada noche borra cualquier cantidad de tu saldo que no usaste durante el día.

Qué harías?

Retirar hasta el último centavo, por supuesto!!!

Cada uno de nosotros tiene ese banco... su nombre es TIEMPO.

Cada mañana, este banco te acredita 86,400 segundos.

Cada noche, este banco borra, y da como perdido, cualquier cantidad de ese crédito que no hayas invertido en un buen propósito.

Este banco no arrastra saldos, ni permite sobregiros.

Cada día te abre una nueva cuenta.

Cada noche elimina los saldos del día.

Si no usas tus depósitos del día, la pérdida es tuya.

No se puede dar marcha atrás.

Debes vivir en el presente con los depósitos de hoy.

Invierte de tal manera, de conseguir lo mejor en salud, felicidad y éxito.

El reloj sigue su marcha. Consigue lo máximo en el día.

Para entender el valor de un año:

pregúntale a algún estudiante que perdió el año de estudios.

Para entender el valor de un mes:pregúntale a la madre que alumbró un bebé prematuro.

Para entender el valor de una semana: pregúntale al editor de un semanario.

Para entender el valor de un día: pregúntale a las personas que esperan para encontrarse.

Para entender el valor de una hora: pregúntale a quien debe cuidar a un enfermo.

Para entender el valor de un minuto: pregúntale a una persona que perdió el último tren.

Para entender el valor de un segundo: pregúntale a una persona que evitó en un instante un accidente.

Para entender el valor de una milésima de segundo: pregúntale a la persona que ganó una medalla de oro en las olimpiadas.

Atesora cada momento que vivas.

Ayer es historia, mañana es misterio, hoy es una dádiva.

Trabajo en equipo



Nadie te recordará
por los años que vivas,
sino por el legado que dejes.
De nada te sirve un gran logro
que no aporte a otros.
Sé generoso.
Fuente: Supera tus límites. C.L.


Por la fe Abraham, siendo llamado,
obedeció para salir al lugar
que había de recigir como herencia;

y salió sin saber a dónde iba.
Por la fe habitó como extranjero
en la tierra prometida como en tierra ajena,
morando en tiendas con
Isaac y Jacob,
coherederos de la misma promesa.

He 11.8-9


Un hombre fue llevado a recorrer tanto el cielo como el infierno. Su primer guía fue el diablo, así que lo invitó a iniciar su recorrido por el infierno. La primera visión fue de sorpresa debido a que todos los ocupantes estaban sentados ante una mesa de banquete con todos los platillos imaginables, incluyendo carnes de todos los confines del mundo, frutas y vegetales y todo platillo delicado conocido por el hombre. Con justificación , el diablo señaló que nadie podía pedir más.


Sin embargo, cuando el paseante observó cuidadosamente a los comensales, no vio ni una sola sonrisa. No había música ni alegría que generalmente está asociada con tales festividades.

Las personas sentadas a la mesa se veían aburridas y sin ánimo y literalmente eran solo pellejo y huesos. El visitante observó que cada persona tenía atados con correas un tenedor a la mano izquierda y un cuchillo a la manao derecha. Cada cubierto tenía una agarradera de metro y medio de largo que impedía completamente el comer. De esa manera, con toda clase de alimentos al alcance de sus dedos, estaban muriéndose de hambre.


La siguiente visita fue al cielo, donde el hombre vio una escena idéntica en todo sentido -iguales comidas, iguales cuchillos y tenedores con las mismas agarraderas de metro y medio. Sin embargo, los habitantes del cielo reían, cantaban y la pasaban de maravilla. Estaban bien alimentados y bozaban de excelente salud. El viajera se sitió sorprendido durante un momento y se preguntó cómo sería posible que en condiciones semmejantes se tuvieran resultados tan distintos.


Entonces vio la respuesta. En el infierno, cada persona había estado tratando de alimentarse a sí misma, lo que es imposible con un tenedor y cuchillo con agarraderas de metro y medio. En el cielo, cada persona alimentaba a la que estaba sentada opuesta a sí misma, y la persona en frente le correspondía. Ayudándose mutuamente se habían ayudado a sí mismos.


Es sumamente importante la forma en que vea los casos y personas, en nuestro caso, clientes y sus requerimientos, debido a que los tratámos exactamente como las vemos.

Feedback


El pasado sólo es un recuerdo;
no puedes hacer nada por él.
Deja tus fracasos atrás
y extiéndete a lo que está adelante.
El éxito es para todos,
pero no lo alcanza cualquiera.
Es de aquellos que tienen
la actitud correcta
entre su pasado y su presente.
Fuente: Supera tus límites. C.L.


Estamos atribulados en todo,
mas no angustiados;
en apuros, mas no desesperados;
perseguidos,
mas no desamparados;
derribados, pero no destruidos;
2 cor 4.8-9

Las oportunidades


Si quieres la oportunidad que otros tienen,
puedes dejar de ver la tuya.
No todos tenemos las mismas oportunidades,
pero todos tenemos una.
Tomo y aprovecha la que tienes.
Fuente: Supera tus límites. C.L.

No es de los ligeros la carrera,
ni la guerra de los fuertes,
ni aun de los sabios el pan,
ni de los prudentes las riquezas,
ni de los elocuentes el favor;
sino que tiempo y ocación
acontecen a todos.
Ec. 9.11

Liderazgo


Los líderes son aquellos que ven
lo que todos han visto y piensan
lo que nadie ha pensado.

En la actualidad, no los son grandes
los que dejan atrás a los pequeños,
sino los rápidos a los lentos.

No seas tan temeroso.
Acelera!

Fuente: Supera tus límites. C.L.

En una carrera
varios son los que corren,
pero sólo uno obtiene el premio.
Corran para ganar.
1 cor. 9.24

Decisión, Determinación y Destino


El futuro depende
de las decisiones que tomes hoy.
Sé determinado en alcanzar
el destino que Dios te señaló.
No temas decidir.
Fuente: Supera tus límites. C.L.


No pienso que yo mismo
lo haya logrado ya.
Mas bien, una cosa hago;
olvidando lo que queda atras
y esforzándome por alcanzar lo que está delante,
sigo avanzando hacia la meta
para ganar el premio
que Dios ofrece
mediante su llamamiento celestial
en Cristo Jesús.
Fil. 3.13-14

Decidir


SER DUEÑO DE TI MISMO...

Dominio propio es decir "Si" o "No" cuado debes hacerlo.

Éste se ejercita absteniéndote de aquello a lo que sí tienes derecho,

para entonces tener la fuerza de negarte a aquello a lo que no tienes derecho.

Fuente: Supera tus límites. C.L.


El que demora en encolerizarse

vale más que un héroe;

el que sebe dominarse

es más que el conquistador de una ciudad.

Prov. 16.32

Pics de Nat Geo