2016-07-19 47 views
6

Próbuję przenieść poświadczenia od jednego do drugiego, ale Jenkins nazwy użytkownika/hasła są zakodowane w $ {JENKINS_HOME} /credentials.xmlGdzie jest klucz szyfrowania przechowywany w Jenkins?

Znalazłem answer, ale problemem jest to, że nie wyjaśnia, gdzie ktoś znajdź klucz szyfrujący, aby pomyślnie przeprowadzić migrację poświadczeń.

Każda pomoc jest bardzo doceniana!

EDIT: Więcej informacji .. moja $ {JENKINS_HOME} jest na osobnym tomie które odłączenia i ponownego zamocowania na nowej maszynie wirtualnej, a ona nadal nie działa ze mną.

Odpowiedz

9

Znalazłem this analysis bardzo pomocny. W skrócie:

Jenkins używa klucza master.key do zaszyfrowania klucza hudson.util.Secret. Ten klucz służy do szyfrowania hasła w credentials.xml.

Kiedy muszę bootstrap nowych instancji Jenkins z niektórych haseł domyślnych, używam drzewo katalogów szablonu, który zawiera

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

To działa prawidłowo.

+0

Hmm .. rozpoczęcie nowego Jenkinsa (pliku wojennego) z istniejącym '$ JENKINS_HOME' nie spowoduje zastąpienia tych plików. –

+0

@Fadi - Mam podobny problem i doceniam twoją pomoc. https://stackoverflow.com/questions/42944559/jenkins-with-publish-over-ssh-unable-to-migrae-server-configuration – Rotem