plugin mvn generate example compiler archetype java maven-2 build notifications

java - mvn - maven-compiler-plugin



Cómo enviar una notificación por correo electrónico para Maven build (5)

No uso Maven, pero creo que puedes hacer esto con un complemento .

¿Existe una forma simple de enviar notificaciones por correo electrónico en Maven para cada compilación sin herramientas de CI externas, al igual que Ant?


Recomiendo encarecidamente el uso de una herramienta de CI para administrar esto, personalmente me gusta configurar qué mensajes de correo electrónico se enviarán en la compilación para evitar el correo no deseado. Por ejemplo, solo notifique cuando la compilación comience a fallar, o comience a funcionar nuevamente, no a cada falla.

Si está seguro de que este es el enfoque correcto, puede usar maven-changes-plugin para enviar un correo electrónico en cada compilación. Puede personalizar la plantilla de correo con velocidad y vincular la ejecución de los objetivos a una fase adecuada para que se envíe cuando lo desee.

También pondría la configuración en un perfil para que se envíe cuando quieras (es decir, cuando el perfil esté activo).

La configuración se ve así:

<profiles> <profile> <id>notify</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-changes-plugin</artifactId> <executions> <execution> <!--send an email in the install phase, could be changed depending on your needs--> <phase>install</phase> <goals> <goal>announcement-mail</goal> </goals> </execution> </executions> <configuration> <smtpHost>mail.yourhost.com</smtpHost> <smtpPort implementation="java.lang.Integer">25</smtpPort> <toAddresses> <toAddress implementation="java.lang.String"> [email protected]</toAddress> <toAddress implementation="java.lang.String"> [email protected]</toAddress> </toAddresses> <!--using a custom velocity template in src/main/resources/mailTemplate/announcement.vm --> <template>announcement.vm</template> <templateDirectory>mailTemplate</templateDirectory> </configuration> </plugin> </plugins> </build> </profile> </profiles>


Si CI no es una opción, usaría un simple contenedor de scripts:

mvn install 2>&1 | tee build.log && cat build.log | mail -s ''Maven build output'' [email protected] && rm -f build.log

Si decides usar una herramienta de CI, te recomendaría encarecidamente Hudson. La página de instalación muestra lo fácil que es ejecutar. El servidor de integración continua suena pomposo y emprendedor, pero Hudson es completamente simple.


Aunque la pregunta es un poco más antigua, es posible que alguien aún necesite una solución diferente: he creado un complemento para ese fin. Eche un vistazo a la página del complemento en github.com . Los MimeMessages alternativos de varias partes no están implementados (eche un vistazo a las preguntas frecuentes por los motivos), así como a una plantilla decente, pero siempre y cuando simplemente desee enviar un correo de texto con archivos adjuntos, debería funcionar.

Planeo enviarlo a mojo.codehaus.org, por lo tanto, el gId. Por ahora, tienes que compilarlo tú mismo, disculpa por ese inconveniente.


También hay un complemento de correo Postman altamente personalizable que le da opciones para enviar resultados de prueba o incluso un html arbitrario que especifica un archivo fuente. Aquí hay un buen hilo que explica cómo se debe configurar.