2016-07-19 264 views
6

Sto provando a migrare le credenziali da un Jenkins all'altro, ma i nomi utente/password hashing sono in $ {} JENKINS_HOME /credentials.xmlDov'è la chiave di crittografia memorizzata in Jenkins?

Ho trovato questo answer, ma il problema è che non spiegare dove sarebbe qualcuno trova la chiave di crittografia per eseguire correttamente la migrazione delle credenziali.

Qualsiasi aiuto è molto apprezzato!

EDIT: Ulteriori informazioni .. my $ {JENKINS_HOME} si trova su un volume separato che io stacco e riattacco alla nuova VM e non funziona ancora con me.

risposta

9

Ho trovato this analysis molto utile. In breve:

Jenkins utilizza il tasto master.key per crittografare la chiave hudson.util.Secret. Questa chiave viene quindi utilizzata per crittografare la password in credentials.xml.

Quando ho bisogno di bootstrap nuove istanze Jenkins con alcune password di default, io uso un albero delle directory modello che contiene

  • secrets/hudson.util.Secret e
  • secrets/master.key

Questo funziona bene.

+0

Hmm .. l'avvio di un nuovo Jenkins (file di guerra) con un '$ JENKINS_HOME' esistente non sovrascriverà questi file. –

+0

@Fadi - Ho un problema simile e apprezzerò il tuo aiuto. https://stackoverflow.com/questions/42944559/jenkins-with-publish-over-ssh-unable-to-migrae-server-configuration – Rotem