2012-08-13 14 views
7

Quiero configurar los trabajos en nuestro servidor de construcción (Jenkins) para firmar automáticamente los archivos jar generados.firma automática de código "seguro"

Por razones obvias, no quiero poner el certificado y las credenciales en el control de versiones, o incluso leerlas en la configuración del trabajo.

Idealmente quiero tener algún tipo de "servidor de firmas" donde el servidor de compilación puede enviar un jar a, para ser firmado.

De acuerdo con la documentación, el proyecto Eclipse tiene un system like that. Pero no se menciona la tecnología que usan.

Entonces, ¿alguien sabe de una solución de "servidor de canto" o una forma diferente de resolver este problema?

Respuesta

1

No estoy seguro acerca de la solución existente. Sin embargo, creo que puede crear una solución por su cuenta en un día:

La máquina A ejecutará Jenkins y tendrá una carpeta compartida La máquina B ejecutará cualquier aplicación/servidor web (como Apache + PHP) y que tenga firmando llaves.

Como parte del trabajo de Jenkins usted siguientes acciones: a) copiar los frascos a la carpeta compartida b) Ejecutar script de shell "wget ​​http: // machineBURL /sign.php?filename=SomeJar.jar"

En la Máquina B tendrá un script PHP, que obtendrá un nombre de archivo pasado, obtendrá el jar con este nombre de archivo de la carpeta compartida, lo firmará y lo colocará nuevamente en la misma carpeta.

1

Eclispe WIKI documentó la sign process, por sus siglas en

  • uso scp para copiar el eclipse-master - $ {} BUILDID .zip en el área de ensayo eclipse.org firma usando pserver.

<exec dir="${packtmp}" executable="scp" output="signing.txt"> <arg line="${archiveName} dev.eclipse.org:${stagingDirectory}"/> </exec>

  • invocar el/usr/bin/script signo de firma a la firma del servidor.

<exec dir="." executable="ssh" output="signing.txt" append="true"> <arg line="build.eclipse.org "cd ${stagingDirectory}; /usr/bin/sign ${stagingDirectory}/${archiveName} mail ${stagingDirectoryOutput}""/> </exec>

  • sondear el servidor para el archivo firmado en el directorio de salida.

<exec dir="." executable="scp" output="signing.txt" append="true"> <arg line="dev.eclipse.org:${stagingDirectory}/${buildId}-out/${archiveName} ${buildDirectory}/${buildLabel}"/> </exec>

Cuestiones relacionadas