Xcode9+Jenkins+fir

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)证书相关问题,删除“钥匙串访问”相关证书,重新下载,同时私钥访问控制设置如下。


Xcode9+Jenkins+fir_第1张图片
密钥访问.png

4.上传
Fir只需要安装插件,配置token,上传即可。自己配置好定时触发策略、邮件发送策略即可。

你可能感兴趣的:(Xcode9+Jenkins+fir)