美文网首页
Xcode9+Jenkins+fir

Xcode9+Jenkins+fir

作者: 麦子maizi | 来源:发表于2018-01-02 13:56 被阅读0次

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


    密钥访问.png

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

    相关文章

      网友评论

          本文标题:Xcode9+Jenkins+fir

          本文链接:https://www.haomeiwen.com/subject/qgefnxtx.html