Carthage Building 方案使 Bitrise 在 90 分钟后超时

Carthage Building scheme makes Bitrise to timeout after 90 minutes

我正在使用 Bitrise,并且我已将我的开发机器和 bitrise 堆栈更新为 Xcode 11。

当 运行 构建时,需要重新生成 Carthage 依赖项,因为我使用的是 AWS 依赖项,即使在我的 Mac book pro 中,它们也需要很长时间来构建并且它们使Bitrise 构建超时。

这里有一个关于如何配置我的 bitrise.yml 的例子:

...
workflows:
  test:
    steps:
    - gitlab-status:
        run_if: not (enveq "BITRISE_GIT_COMMIT" "")
        inputs:
        - private_token: "$GITLAB_STATUS_TOKEN"
        - preset_status: running
        - api_base_url: https://gitlab.company.cloud/api/v4
    - activate-ssh-key:
        run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}'
    - git-clone: {}
    - cache-pull:
        inputs:
        - is_debug_mode: 'true'
    - certificate-and-profile-installer: {}
    - carthage:
        inputs:
        - verbose_log: 'yes'
        - carthage_options: "--platform ios --no-use-binaries --cache-builds"
    - cocoapods-install: {}
    - xcode-test:
        inputs:
        - scheme: CompanyApp
        - project_path: CompanyApp.xcworkspace
        - simulator_device: iPhone 8
    - xcode-test:
        inputs:
        - project_path: CompanyApp.xcworkspace
        - simulator_device: iPhone 8
        - scheme: CompanyAppUITests
    - gitlab-status:
        run_if: not (enveq "BITRISE_GIT_COMMIT" "")
        inputs:
        - private_token: "$GITLAB_STATUS_TOKEN"
        - api_base_url: https://gitlab.company.cloud/api/v4
    - cache-push:
        is_always_run: true
        inputs:
        - is_debug_mode: 'true'
    - deploy-to-bitrise-io: {}
...

以防万一,它们是构建日志的最后两行

*** Building scheme "AWSLogs" in AWSiOSSDKv2.xcodeproj
*** Building scheme "AWSMachineLearning" in AWSiOSSDKv2.xcodeproj

有什么想法吗???

解决方案是不重建 CI 中的库,将它们添加到存储库并跳过 CI 中的构建部分后,您会发现构建时间大大减少。

尝试删除 --no-use-binaries.

通过选择不使用二进制文件,大型依赖项无法为您提供预编译的二进制文件以大大减少编译时间。如果删除该标志,您应该会注意到编译速度会加快。