使用jenkins 搭建 ios 打包和质量构建机器,jenkins需要安装xcode工具,同时slave机器必须是ios机器。
因为jenkins ios插件和slave 中的ios 机器上的xcode交互的,xcode 只能安装在ios上。
一个证书是.p12文件,一个是签名文件.mobileprovision
对于xcode 打包,报证书问题:证书读取不到,需要mac os10.13以上 xcode 9.0以上,升级下系统和xcode。
但是升级了系统jenkins master ssh 调用slave 执行shell执行脚本获取证书和签名文件去打包报错。
报错:
这里是 解决方式:
https://stackoverflow.com/questions/26475404/xcode-codesign-error-from-jenkins-ssh-user-interaction-is-not-allowed#
我这边依据上面的解决方式在执行获取证书和签名文件时,先解锁:
核心的两句脚本:
unlock-keychain "-p" "**pwd" "/Users/***/Library/Keychains/login.keychain"
unlock-keychain "-p" "**pwd" "/Users/***/Library/Keychains/login.keychain-db"
unlock-keychain "-p" "**pwd" "/Users/***/Library/Keychains/login.keychain"
security: SecKeychainUnlock /Users/***/Library/Keychains/login.keychain: The user name or passphrase you entered is not correct.
unlock-keychain "-p" "**pwd" "/Users/***/Library/Keychains/login.keychain-db"
security: SecKeychainUnlock /Users/***/Library/Keychains/login.keychain-db: The user name or passphrase you entered is not correct.