环境部署情况
Jenkins服务是直接使用Docker镜像起的;执行机是Mac电脑,执行机的环境已是配置好的且可正常打包,使用Jenkins调用执行机进行打包却遇到如下问题
问题一:编码问题
- 编码问题,报错提示如下:
/Library/Ruby/Gems/2.6.0/gems/xcodeproj-1.17.1/lib/xcodeproj/plist.rb:91:in `match‘: [31m[!] invalid byte sequence in US-ASCII
- 解决办法:在Jenkins构建脚本中加入以下两行:
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
问题二:钥匙串问题
- 出现这个问题的主要原因是是Jenkins,以ssh方式到slave机上,默认是没有账户的,但是访问钥匙串要求必须有用户身份,报错信息如下:
CodeSign /Users/username/Library/Developer/Xcode/DerivedData/App_name-elibdznqaexwbxaapyjfroeszngn/Build/Intermediates.noindex/ArchiveIntermediates/App_name/InstallationBuildProductsLocation/Applications/App_name.app
- 解决办法:添加一步输入密码解锁钥匙串,可以给Jenkins一个用户身份
security unlock-keychain -p "login_pwd" ~/Library/Keychains/login.keychain