美文网首页iOS打包发布
Travis CI(Jenkins)+xcodebuild+fi

Travis CI(Jenkins)+xcodebuild+fi

作者: itlijunjie | 来源:发表于2017-08-11 23:16 被阅读29次
    需要的工具(这里暂时只介绍Travis CI的使用,Jenkins套用即可)

    本地只需要安装travis命令行工具
    安装travis:

    gem install travis
    
    Travis CI+github

    需要在项目根目录新建.travis.yml,后面一一讲解干啥的。


    .travis.yml文件内容
    • 基础设置
    language: objective-c
    osx_image: xcode8.3
    

    这些的作用就不多说了,不明白-->部分简单配置参考
    后面是Travis CI的编译周期请参考

    • 安装fir命令行
    beforre_install:
    - gem install fir-cli --no-ri --no-rdoc
    
    • 解密证书,创建keychain,创建缓存目录
    before_script:
    - "./scripts/encd.sh" #解密证书
    - "./scripts/add-key.sh" #创建keychain
    - "./scripts/clear_cache.sh" #创建缓存目录
    

    下面分别看看每一个都是干啥的

    • ./scripts/encd.sh
      encd文件内容
      这三个文件是什么东西,就多说了。
      我不希望服务器上直接放的真实的证书,所以用openssl对证书进行了加密。加解密参考这里
      -k参数就是我们唯一用到的命令,在.travis.yml同级目录执行,如何使用参考这里
    #使用的时候可以用$key获取值,这个由Travis CI维护,我们不用操心
    travis encrypt key="value" --add
    

    执行完后在.travis.yml文件末尾会自动添加

    env:
      global:
      - secure: qcZu5n4CR6PSVYnyLok9pSYIEN5u+Bt7+207Yd16eDWZSXFpNLmEfrKNolk1lZ/
    
    security create-keychain -p travis ios-build.keychain
    security default-keychain -s ios-build.keychain
    
    security unlock-keychain -p travis ios-build.keychain
    security set-keychain-settings -t 3600 -l ~/Library/Keychains/ios-build.keychain
    
    security import ./scripts/certs/apple.cer -k ~/Library/Keychains/ios-build.keychain -T /usr/bin/codesign
    security import ./scripts/certs/Dev_Certificates.cer -k ~/Library/Keychains/ios-build.keychain -T /usr/bin/codesign
    security import ./scripts/certs/Dev_Certificates.p12 -f pkcs12 -k ~/Library/Keychains/ios-build.keychain -P $DEV_P12_PASSWORD -T /usr/bin/codesign
    
    security set-key-partition-list -S apple-tool:,apple: -s -k travis ios-build.keychain
    
    security find-identity -p codesigning ~/Library/Keychains/ios-build.keychain
    security list-keychains
    
    mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles
    cp ./scripts/profile/$PROFILE_NAME ~/Library/MobileDevice/Provisioning\ Profiles
    

    这里重点说下apple.cer是我们自己的开发证书的根证书需要单独下载或者从电脑上导出下载地址,其他的可以参考链接,不想看可以直接拷贝改改参数即可。

    • ./scripts/clear_cache.sh
    out_path=./xcode_build_ipa_dev
    mkdir -p ${out_path}
    

    创建包存放路径,没什么好说的。

    • 打包
    script:
    - xcodebuild clean -project ./XXXXXX.xcodeproj -sdk iphoneos -configuration $CONFIGURATION -alltargets
    - xcodebuild archive -project ./XXXXX.xcodeproj -scheme XXXXX -configuration $CONFIGURATION -archivePath ./xcode_build_ipa_dev/XXXXX.xcarchive
    

    先清缓存,再打包,将XXXXX替换成自己的。

    • 导出ipa,上传fir(如何上传蒲公英自行百度)
    xcodebuild -exportArchive -archivePath ./xcode_build_ipa_dev/XXXXX.xcarchive -exportPath ./xcode_build_ipa_dev -exportOptionsPlist ./scripts/xcodebuild_dev_config.plist
    
    fir p ./xcode_build_ipa_dev/XXXXXX.ipa -T MyToken -c 发布debug版本
    
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>teamID</key>
        <string> XXXXX </string>
        <key>method</key>
        <string>development</string>
    </dict>
    </plist>
    

    将XXXXX替换成自己的。

    • ./remove-key.sh
    security delete-keychain ~/Library/Keychains/ios-build.keychain
    security find-identity -p codesigning ~/Library/Keychains/ios-build.keychain
    security list-keychains
    

    删除keychain

    相关文章

      网友评论

        本文标题:Travis CI(Jenkins)+xcodebuild+fi

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