Una de mis tareas en el trabajo es crear documentación, la documentación que generamos la creamos utilizando DocBook/XML, los archivos fuente de la documentación son archivos en texto plano con sentencias XML.
Ya que varias personas estan editando y revisando la documentación, y queremos tener control sobre las versiones, la documentación esta almacenada en un repositorio SVN (Subversion)
Aquí veremos como configurar nuestro repositorio SVN para que envie un correo el ectronico de notificación a los miembros del projecto cada vez que se hace un commit.
Subversion permite la ejecución de algún script antes o despues de hacer un commit, en nuestro caso configuraremos nuestro repositorio para que ejecute un script que envía por correo una notificación avisando sobre el cambio que se realizo y también puede incluir el diff.
En el servidor tenemos un repositorio llamado Documentacion_Linux en el directorio /home/svn/.
Entramos al directorio /home/svn/Documentacion_Linux/hooks/
$ cd /home/svn/Documentacion_Linux/hooks
Y creamos el archivo post-commit con el siguiente contenido:
#!/bin/sh
REPO_NAME=Documentacion_Linux
REPO_PATH=/home/svn/${REPO_NAME}
REV=`cut -c1-2 ${REPO_PATH}/db/current`
REPO_MAIL_MEMBERS="miembro1@example.com miembro2@example.com miembro3@example.com"
/usr/share/subversion/hook-scripts/commit-email.pl $REPO_PATH $REV \
-s "Actualizacion en SVN: $REPO_NAME" \
${REPO_MAIL_MEMBERS}
Guardamos el archivo y le damos permisos de ejecución:
$ chmod +x post-commit
En este script utilizamos algunas variables para indicar el directorio del repositorio y también obtenemos la última revisión, esta información se pasa como parametro al script /usr/share/subversion/hook-scripts/commit-email.pl, además nos sirven para que sea incluida en el cuerpo del mensaje.
El script commit-email.pl forma parte del paquete subversion-tools, por lo que si no lo tiene instalado instalelo de una vez, por ejemplo con apt:
$ sudo apt-get install subversion-tools
Listo, ahora la proxima vez que algun miembro del proyecto haga un commit, se enviará un correo electronico con un mensaje con el subject algo así:
Actualización en SVN: Documentacion_Linux r65 - /
Y en el cuerpo del mensaje algo así:
Author: jmedina Date: 2009-01-14 17:39:14 -0600 (Wed, 14 Jan 2009) New Revision: 65 Modified: configuracion-de-samba-y-smbldap-tools.xml Log: Se agrego el ID a la seccion "configuracion de samba". Modified: configuracion-de-samba-y-smbldap-tools.xml =================================================================== --- configuracion-de-samba-y-smbldap-tools.xml 2009-01-14 23:24:29 UTC (rev 64) +++ configuracion-de-samba-y-smbldap-tools.xml 2009-01-14 23:39:14 UTC (rev 65) @@ -20,17 +20,552 @@ herramientas smbldap-tools para configurar un Servidor Controlador de Dominio usando como fuente de información un directorio LDAP.</para> - <section> + <section id="configuracion-de-samba">
Los correos serán enviados con el servidor de correos local, si desea configurar un servidor de correos local para que envie los correos a traves de el servidor externo de la compañia, quizas porque su proveedor de Internet le asigna una dirección IP dinamica que esta en las listas negras, o porque el ISP bloquea la salida al puerto TCP/25. Si desea ver como realizar este tipo de configuraciones ver el siguiente articulo: Postfix: Como enviar correo a traves de un servidor externo usando SASL y TLS.
Espero que este articulo les sea de utilidad como lo fue para mi.

Add comment