web-dev-qa-db-ja.com

暗号化キーはJenkinsに保存されていますか?

資格情報をあるJenkinsから別のJenkinsに移行しようとしていますが、ユーザー名/パスワードは$ {JENKINS_HOME} /credentials.xmlにハッシュされています

私はこれ answer を見つけましたが、問題は、資格情報を正常に移行するために誰かが暗号化キーをどこで見つけるかを説明していないことです。

どんな助けでも大歓迎です!

[〜#〜] edit [〜#〜]:詳細情報..私の$ {JENKINS_HOME}は別のボリュームにあり、これを切り離して再新しいVMに接続しても、まだ動作しません。

18
Fadi

私は この分析 が非常に役立つことを発見しました。手短に:

Jenkinsはmaster.keyを使用して、キーhudson.util.Secretを暗号化します。このキーは、credentials.xmlのパスワードを暗号化するために使用されます。

bootstrapデフォルトのパスワードが設定された新しいJenkinsインスタンスが必要な場合は、以下を含むテンプレートディレクトリツリーを使用します。

  • secrets/hudson.util.Secretおよび
  • secrets/master.key

これは正常に動作します。

26
Alex O

JENKINSの移行に関して、私は最近この状況を経験し、いくつかのテストの後、私の回避策は私のために働きました。

これが私がしたことです:

  1. 以下のファイルとフォルダーをソースジェンキンスからターゲットに移動しました。

    • $ JENKINS_HOME/secret.key
    • $ JENKINS_HOME/secrets
    • $ JENKINS-HOME/users
    • $ JENKINS_HOME/credentials.xml
  2. 注意:これらのファイルは必須ではありません移動します:

    • $ JENKINS_HOME/identity.key.enc
    • $ JENKINS_HOME/secrets/org.jenkinsci.main.modules.instance_identity.InstanceIdentity.KEY

そうしないと、Jenkinsの起動後に以下のエラーが表示されます。

Java.lang.AssertionError: InstanceIdentity is missing its singleton
  1. Jenkinsはこれら2つのファイルを自動的に生成します。開始したら、あなたは良いはずです。
4