持续集成 求助!jenkins 自动构建 IOS 包签名遇到问题

jc · 2015年07月30日 · 最后由 dong09000 回复于 2018年12月04日 · 3347 次阅读

环境:master CentOS
slave Mac
证书:企业证书,通过手动打包可以打包成功
在 slave 构建打包,执行到 codsign 报错,报错日志如下:

 /usr/bin/codesign --force --sign 09E4B7713C237A7B047C8BD112B75802F8F925D5 --resource-rules=/Users/solomo/workspace/workspace/乐蜂4.0/build/LeFeng.app/ResourceRules.plist --entitlements /Users/solomo/Library/Developer/Xcode/DerivedData/LeFeng-hetkaoqrwbtfuofgjrqfxscgajma/Build/Intermediates/LeFeng.build/Release-iphoneos/LeFeng.build/LeFeng.app.xcent /Users/solomo/workspace/workspace/乐蜂4.0/build/LeFeng.app
Warning: --resource-rules has been deprecated in Mac OS X >= 10.10!
CSSM_SignData returned: 8001094A
/Users/solomo/workspace/workspace/乐蜂4.0/build/LeFeng.app: errSecInternalComponent
Command /usr/bin/codesign failed with exit code 1

** BUILD FAILED **


The following build commands failed:
    CodeSign /Users/solomo/workspace/workspace/乐蜂4.0/build/LeFeng.app
(1 failure)
Build step 'Xcode' marked build as failure
Finished: FAILURE

百度了一下前人的经验http://blog.csdn.net/wirelessqa/article/details/18351675,试了两种办法均不成功,有没有这方面经验的同学

共收到 8 条回复 时间 点赞

配置调试好你的 commandLine

你 jenkins 有装 xcode 插件么? 有在 jenkins 中设置 Unlock Keychain 么? 搜我以前的帖子。

jc #3 · 2015年07月30日 Author

@snake 这些肯定配置了,而且也设置了

jc #4 · 2015年07月30日 Author

@lanxiangtechnical 我是通过 xcode 的插件模式进行的,所以应该不是命令行的问题

编译之前添加 security unlock-keychain -p "你的密码" "path to keychain/login.keychain"

hello, 我叫 Johnny,我是 Buddybuild.com 的创始人之一

我们的产品刚刚面世 2 个月,主要针对 app 的开发中的持续集成和持续交付环节,现在处于使用期。

这样你就不用在需要 jenkins 了。希望你帮到你。

留意 xocde Schema file 指定文件名称即可不需要完整路劲否则包错误找不到而 worksoace 则需要完整路劲与文件(注:不添加文件后缀)我当时搭建时遇到的坑,如果还没解决我可发你我们项目配置的截图参考一下

failed content

/Users/macserver/Library/Developer/Xcode/DerivedData/CRM-aghqpbaaoycsdgddnnenvhgeuxjo/Build/Intermediates.noindex/ArchiveIntermediates/CRM/InstallationBuildProductsLocation/Applications/CRM.app: errSecInternalComponent

参考答案 链接

  • 大部分答案都告诉你重启机器
  • 根本原因是 Jenkins,ssh 方式到 slave 机上,默认是没有账户的,但是访问钥匙串要求必须有用户身份,所以添加一步输入密码解锁钥匙串,可以给 Jenkins 一个用户身份。 build 步骤前添加一步解锁钥匙串。 security unlock-keychain -p "login pwd" ~/Library/Keychains/login.keychain
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册