美文网首页
GitHub Action 实现iOS持续集成实现历程

GitHub Action 实现iOS持续集成实现历程

作者: 这个熊孩子不太冷 | 来源:发表于2020-07-09 16:19 被阅读0次

    代码放在GitHub上管理,直接使用GitHub action来实现持续集成。
    创建action的步骤不详细描述,直接贴出对应的执行文件

    name: Deploying
    on:
      push:
          
    jobs:
      deploy:
        name: Make a IPA file
        runs-on: macOS-latest
        steps:
          - name: Checkout repository
            uses: actions/checkout@v1
    #       - name: Install gpg
    #         run: brew install gnupg
          - name: Setup provisioning profile
    #         env:
    #           IOS_KEYS: ${{ secrets.IOS_KEYS }}
            run: ./.github/secrets/decrypt_secrets.sh
          - name: Archiving project
            #env:
              #PR_NUMBER: $(jq --raw-output .pull_request.number "$GITHUB_EVENT_PATH")
            run: ./.github/scripts/archive_app.sh
          - name: Exporting .ipa
            run: ./.github/scripts/export_ipa.sh
            if: success()
            run: ./.github/scripts/publish_fir.sh
    

    因为是测试,触发条件我是在push这个动作的时候触发,证书我是放在了对应的文件夹下,因为是私有库我没有进行加密,需要加密的同学使用gpg加密,具体操作可以Google下。
    archive_app.sh 、export_ipa.sh 、publish_fir.sh,这三个脚本分别对应的是编译,导出ipa包,上传三方管理平台。

    archive_app.sh (工程名可以设个全局变量)

    set -eo pipefail
    
    xcodebuild -workspace 工程名字.xcworkspace \
                -scheme 工程名字\
                -sdk iphoneos \
                -configuration AppStoreDistribution \
                -archivePath $PWD/build/工程名字.xcarchive \
                clean archive | xcpretty
    

    export_ipa.sh

    set -eo pipefail
    
    xcodebuild -archivePath $PWD/build/工程名字.xcarchive \
                -exportOptionsPlist ./.github/secrets/ExportOptions.plist \
                -exportPath $PWD/build \
                -allowProvisioningUpdates \
                -exportArchive | xcpretty
    

    ExportOptions.plist 这个plist文件,可以用xcode archive下代码,导出ipa包的时候文件夹里会包含这个文件直接取出来使用

    publish_fir.sh 这个脚本文件内容同学可以自行百度下对应三方管理平台的对应的命令

    demo的GitHub地址:https://github.com/superSong-hello/GitHubActionForiOS.git
    注意项目里是不包含证书的,想要测试替换成自己公司的证书并替换ExportOptions.plist文件

    相关文章

      网友评论

          本文标题:GitHub Action 实现iOS持续集成实现历程

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