Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-12217

xcode-plugin: fails to set default keychain when using alternate (non login) keychain

XMLWordPrintable

      Using the following settings:

      Unlock Keychain? checked
      Keychain path: ${HOME}/Library/Keychains/tout-iphone.keychain
      Keychain password: ******

      The build fails with the error:

      Code Sign error: The identity 'iPhone Developer: XXXX XXXX (XXXX)' doesn't match any valid certificate/private key pair in the default keychain

      In addition, once the build is complete, my login keychain is no longer present in the Keychain Access application.

      I've tracked this down to XCodeBuilder.java:286

      268: launcher.launch().envs(envs).cmds("/usr/bin/security","login-keychain","-d","user",
      "-s",keychainPath).stdout(listener).pwd(projectRoot).join();

      Specifically, it's calling 'security login-keychain' when I believe it should be calling 'security default-keychain'. My build succeeds after changing this line to the following:

      268: launcher.launch().envs(envs).cmds("/usr/bin/security","default-keychain","-d","user",
      "-s",keychainPath).stdout(listener).pwd(projectRoot).join();

      I haven't looked into how this affects configurations that don't specify an alternate keychain file.

            aheritier Arnaud Héritier
            humblehacker David Whetstone
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: