1.背景
随着Xcode以及macOS升级,以前Jenkins配置方式发生了一些变化,之前可以使用Xcode intergation配置,现在由于钥匙串访问等原因导致Jenkins配置失败,包括支持allowProvisioningUpdates.
之前使用xctool做的单元测试,发现只能使用Jenkins登录才可以,升级macOS后Jenkins这个用户丢失,升级后待测试。
2.配置
构建里面只保留Execute shell,指令如下。需要用户自己配置的地方用XXX(说明)代替
/usr/bin/security unlock-keychain -p XXX(密码) ~/Library/Keychains/login.keychain
# clean
echo "================= Clean一下 ================="
xcodebuild clean -workspace /Users/Shared/Jenkins/Home/workspace/XXX(路径)/XXX(工程名称).xcworkspace \
-scheme XXX(scheme名称)\
#-alltargets
echo "================= Clean一下 Over ================="
# archive
echo "============== archive =================="
xcodebuild archive -workspace /Users/Shared/Jenkins/Home/workspace/XXX(路径)/XXX(工程名称).xcworkspace \
-scheme XXX(scheme名称) \
-configuration "Release" archive \
CFBundleVersion=${BOUNDLE_VERSION} \
-destination generic/platform=ios \
-archivePath build/XXX(xcarchive文件名).xcarchive \
CODE_SIGN_IDENTITY="iPhone Developer"\
-allowProvisioningUpdates\
# export ipa
echo "+++++++++++++++++ exportArchive +++++++++++++++++"
xcodebuild -exportArchive -archivePath /Users/Shared/Jenkins/Home/workspace/XXX(路径)/build/XXX(xcarchive文件名).xcarchive \
-exportPath build/XXX(scheme名称)\
-destination generic/platform=ios\
-exportOptionsPlist /users/appletest/desktop/XXX(ExportOptions文件路径)/ExportOptions.plist\
-allowProvisioningUpdates
注意:ExportOptions文件,是打包生成.ipa文件后一起生成的文件,需要你提前生成,拷贝路径,添加到shell里面。
3.常见错误
(1)There are no schemes in workspace
解决方式:在“Edit scheme->Manage schemes”右侧的勾选中,设置为shared
(2)Code sign error各种问题
解决方式:删除已知路径的Provisioning profiles文件,自己打包一次,拷贝以下路径文件夹Provisioning Profiles
/用户/XXX(登录用户名)/资源库/MobileDevice/
到
/用户/共享/Jenkins/Library//MobileDevice/
失败的话,自己去developer center下载需要的Provisioning Profiles文件,然后复制、粘贴。
(3)证书相关问题,删除“钥匙串访问”相关证书,重新下载,同时私钥访问控制设置如下。
4.上传
Fir只需要安装插件,配置token,上传即可。自己配置好定时触发策略、邮件发送策略即可。