Tenemos varios proyectos maven, que se basan en el servidor de compilación. En algunos casos, queremos firmar nuestros entregables. Usamos Maven Jarsigner Plugin para hacer eso.Estrategia de firma de jar en Maven Projects
nos enfrentamos a los siguientes preguntas:
- Dónde debemos almacenar las contraseñas para la firma?
- ¿Cuál es una buena estrategia para firmar proyectos de maven?
No queremos poner nuestro almacén de claves en algún lugar de nuestros servidores y codificar una ruta hacia él. Así que acabamos de envolver este almacén de claves en un contenedor y lo cargamos como un artefacto a nuestro repositorio interno de maven. Cuando queremos firmar un proyecto de experto, descargamos el artefacto de almacén de claves usando el Maven Dependency Plugin y adjuntamos el objetivo de firma para crear el ciclo de vida de la construcción. Here es información más detallada.
Para ocultar las contraseñas para el almacén de claves, las colocamos en nuestro archivo corporativo pom.xml
. También pensamos en almacenar contraseñas en settings.xml
en el servidor de compilación.
Cuando un proyecto se crea y firma en una máquina de desarrollador, lo firmamos con un certificado autofirmado. Pero cuando el proyecto se construye y se firma en un servidor de compilación, lo firmamos con nuestro certificado "oficial".
¿Es una buena estrategia?
Fuimos de la misma manera. Excepto que las contraseñas de almacén de claves de producción se almacenan en profile settings.xml. Y ese perfil es invocado automáticamente por el servidor de compilación. –
También tenga en cuenta que su alias no puede contener un carácter de comillas simples debido a este error: http://jira.codehaus.org/browse/MJARSIGNER-11 –
A partir de la versión 1.3, el complemento jar signer admite la encriptación maven. Esto hace que sea relativamente seguro almacenar la contraseña en settings.xml. Consulte http://maven.apache.org/guides/mini/guide-encryption.html para obtener más detalles. – Rob