2012-08-13 13 views
7

Desidero impostare i lavori nel nostro buildserver (Jenkins) per firmare automaticamente i vasi generati.firma di codice "sicuro" automatizzata

Per ovvi motivi, non voglio mettere il certificato e le credenziali nel controllo di versione, o anche leggibile nella configurazione del lavoro.

Idealmente voglio avere una sorta di "server di firma" in cui il buildserver può inviare un barattolo, per essere firmato.

Secondo la documentazione, il progetto Eclipse ha uno system like that. Ma non c'è menzione sulla tecnologia che usano.

Così qualcuno sa di una soluzione "server di canto" o un modo diverso per risolvere questo problema?

risposta

1

Non sono sicuro della soluzione esistente. Tuttavia, penso che puoi creare una soluzione per conto tuo in un giorno:

La macchina A eseguirà Jenkins e avrà una cartella condivisa La macchina B eseguirà qualsiasi applicazione/server web (come Apache + PHP) e che ha chiavi di firma.

Come parte del lavoro Jenkins non seguenti azioni: a) Copia vasi di cartella condivisa b) Eseguire script di shell "wget ​​http: // machineBURL /sign.php?filename=SomeJar.jar"

Sulla macchina B avrete lo script PHP, che otterrà un nome file passato, otterrà il jar con questo nome file dalla cartella condivisa, firmarlo e reinserirlo nella stessa cartella.

1

Eclispe WIKI documentato il sign process, in breve

  • usare scp per copiare l'eclissi-master - $ {} BUILDID .zip alla zona di sosta eclipse.org firma utilizzando pserver.

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

  • invocare la firma script/usr/bin/segno sulla firma del server.

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

  • interrogare il server per il file firmato nella directory di output.

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

Problemi correlati