2012-11-30 70 views
2

XCode插件似乎假設只有來自用戶jenkins的鑰匙串可用於簽署XCode構建。不可能將Jenkins的XCode插件設置爲使用指定的鑰匙串?

有一個叫鑰匙扣路區間,但是如果我進入那裏以下,
/Users/Me/Library/Keychains/login.keychain

然後構建logshows如下:

"Will not set default: file /Users/Shared/Jenkins/Library/Keychains/Users/Me/Library/Keychains/login.keychain does not exist" 

所以插件已經附加了我進入到/ Users/Shared/Jenkins/Library/Keychains /上。

如果我離開它的

${HOME}/Library/Keychains/login.keychain 

的默認值,然後生成日誌說:

"Will not set default: file /Users/Shared/Jenkins/Library/Keychains/login.keychain does not exist" 

因此Xcode的構建插件強制用戶是詹金斯 - 這意味着它的必要以用戶Jenkins的身份設置鑰匙串? 在這種情況下,這是如何完成的 - 當Jenkins安裝到Mac上時,默認情況下會創建一個名爲jenkins的用戶,但AFAIK這是一個匿名用戶,實際上並不可能像用戶jenkins一樣登錄到機器。 因此用戶jenkins的鑰匙鏈如何創建?

爲什麼插件強制這個,爲什麼沒有記錄這方面的東西?

如果我可以使用不同用戶的鑰匙串,那麼該怎麼做? - 沒有記錄。

回答

0

我已經放棄了這個插件和其他一些原因,並且正在運行我的Xcode構建和命令行簽名,並執行「Execute Shell」步驟。

xcodebuild -verbose -alltargets -configuration Debug clean build CODE_SIGN_IDENTITY="${CODE_SIGN_IDENTITY}" PROVISIONING_PROFILE=${PROVISIONING_PROFILE} 
&& 
/usr/bin/xcrun -sdk iphoneos PackageApplication -v "${WORKSPACE}/client_trunk/build/Debug-iphoneos/${Application}.app" -o "${WORKSPACE}/client_trunk/build/Debug-iphoneos/${Application}-Debug-${shortVer}.${revVer}.ipa" --sign "${CODE_SIGN_IDENTITY}" --embed "/Users/[youruser]/Library/MobileDevice/Provisioning Profiles/${PROVISIONING_PROFILE}.mobileprovision" 

以上,${CODE_SIGN_IDENTITY}是一個看起來像iPhone Developer: blah${PROVISIONING_PROFILE}對於像F152C66E-B99A-47F6-B262-376CE4403D71

輪廓爲了解決您的鑰匙串的問題試試這個十六進制數:

security default-keychain -s <keychain-name>.keychain

3

按照原樣離開jenkins,創建文件夾/Users/Shared/Jenkins/Library/Keychains並在那裏放置一個名爲的文件。

該文件可以使用鑰匙串訪問創建,通過菜單項File - New Keychain...。你在那裏放置了與相關私鑰相關的缺失證書。

+0

我不明白我如何使用鑰匙串訪問創建該文件,當我無法真正以jenkins用戶身份登錄時。 –

+0

將其創建爲其他用戶。唯一重要的是文件的內容,而不是由誰創建的。 – JOM

相關問題