@alterebro

Como enviar notificaciones email de commits desde SVN.

sábado, noviembre 06, 2010 @15:50

Como me he pegado un ratillo tratando de hacer funcionar esto y la documentación en español que hay en internet es bastante escasa, voy a listar paso a paso como configurar subversion para que envie notificaciones por correo cada vez que hagamos un commit en nuestro repositorio. En este caso he usado mi cuenta en Dreamhost, supongo que en otros servidores de hosting sera similar:

  1. Primero habrá que asegurarse de configurar nuestro tipo de cuenta de usuario como Shell Account y shell type: /bin/bash
  2. Accedemos y nos autentificamos en el servidor usando ssh desde la terminal:
    ssh USER@SERVER
    Donde USER es tu nombre de usuario shell y SERVER el servidor al que te conectas, por ejemplo: ssh juanito@ejemplo.com
  3. Una vez entremos con nuestra contraseña vamos a editar el archivo post-commit.tmpl
    nano /home/USER/svn/SVN-ID/hooks/post-commit.tmpl
    donde USER vuelve a ser tu nombre de usuario y SVN-ID el id de tu repositorio, asegurate de que es el ID y no el nombre del repositorio.
  4. Dentro del archivo nos encontraremos con una serie de comentarios y al final del archivo un comando similar a lo siguiente:
    /usr/lib/subversion/hook-scripts/commit-email.pl "$REPOS" "$REV" something@example.org
    Cambiamos esa linea por lo siguiente (reemplazando mayúsculas por tus datos):
    /usr/lib/subversion/hook-scripts/commit-email.pl --from DIRECCIONSVN@TUSERVIDOR.COM "$REPOS" "$REV" TUDIRECCIONEMAIL@TUSERVIDOR.COM
  5. Guardamos este archivo como post-commit (Ctrl+O) y salimos del editor (Ctrl+X)
  6. Vamos al directorio donde se encuentra el nuevo archivo creado ( post-commit )
    cd /home/USER/svn/SVN-ID/hooks/
  7. Damos permisos al archivo:
    chmod a+x post-commit
  8. Y por ultimo testeamos si todo ha ido bien:
    ./post-commit /home/USER/svn/SVN-ID R
    Donde R sera un número de revisión válido. Debería llegar una notificación email al correo que has indicado en el paso anterior y cerramos nuestra conexión con el servidor: exit

En el archivo post-commit podemos añadir un asunto con -s 'ASUNTO' y si queremos que las notificaciones lleguen a más de un destinatario simplemente las añadiriamos separadas por comas.

Etiquetas:

0 comentarios

Publicar un comentario

Suscribirse a Enviar comentarios [Atom]