自定义生成依赖项处理
备注
自定义依赖项处理所发现的问题通常超出了 App Center 支持范围,因为 QA 高度自定义功能是不可行的。
App Center 生成服务会自动还原生成所需的应用程序依赖项。
但是,在某些情况下,可能需要对这些依赖项进行自定义处理才能正确地处理这些任务。 例如:
- 需要额外时间超出 App Center 中使用的默认值的依赖项。
- 托管在非公共资源中的依赖项。
依赖关系处理选项
有几个选项可用于还原依赖项:
- 默认自动还原-NuGet 包和类似工作流的典型设置。
- 自定义自动还原-包括项目中 NuGet.Config 的文件,用于修改正常的自动过程。
- 克隆后脚本中的还原-允许对还原过程进行完全控制。
- 在存储库本身中包含包-保证包可用,但会大幅增加存储库的大小。
常见示例
这些示例不是每种可能的方案,而是显示用于以自定义方式处理还原依赖项的选项。
将 CocoaPods 与部分(而非全部)盒一起使用,并签入到存储库
通常,如果项目使用 CocoaPods,则主 App Center 生成任务将使用自动还原它们 pod install 。 但是,如果你已在你的存储库中签入了一个 /pods 文件夹,系统将假定已签入盒,并跳过此步骤。
可能的解决方法包括:
- 包括所有 CocoaPods。
- 删除该
/pods文件夹。 - 添加
pod install到克隆后的生成脚本以添加缺失的 pod。
需要额外的时间可靠还原的 Yarn 包
提示
最初,生成服务使用默认的30秒超时来还原 Yarn 包。 但在2020年10月19日,这已更新为10分钟。 可以通过 Save Save & Build 在分支配置中选择或来应用更新。
当 Yarn 还原包时,它可能会引发以下错误消息:
错误: " https://registry.yarnpkg.com/ [.pkg]/-/[.pkg]-[VERSION]. tgz: ESOCKETTIMEDOUT
可能的解决方法包括:
- 提供存储库中的包。
- 使用增加的超时值在克隆后脚本中还原: https://classic.yarnpkg.com/en/docs/cli/config