【发布时间】:2021-06-21 15:30:25
【问题描述】:
我有一个通过 microsoft appcenter 构建和分发的 react 本机应用程序。对于 iOS 端,我有一个发布变体,即现场制作变体。我有一个分期变体。我试图实现的 git 流程是这样的:
- 从 master 或 staging 创建功能分支(为了 这个论点)-->
- 将 OTA 更新推送到暂存变体 -->
- 将 staging 变体合并到 master(这是关键部分)
我希望能够将 staging 合并到 master 中,而不必每次将 staging 拉入 master 或将 master-branched-feature-branch 推送到 staging 时手动设置 defaultConfigurationName。我想要一个动态值:master 的值始终是“release”,而 staging 的值始终是“staging”。
问题:
将暂存分支合并到主分支(生产)时,project.pbxproj 中的defaultConfigurationName 会将 microsoft appcenter 构建的变体从发布变体(生产)更改为暂存变体
假设我有一个名为“ENVIRONMENT”的环境变量,其值为“release”和“staging”,对应于“master”和“staging”分支。我想在将 staging 合并到 master 时自动管理 ios 构建配置,而不必在每次将 staging 合并到 master 时手动将 defaultConfigurationName 重置回“发布”。如何将 env 变量的值设置为 project.pbxproj 文件中“defaultConfigurationName”的值?
注意:我不需要帮助设置环境或环境变量。我也不想创建额外的目标。
【问题讨论】:
-
你能澄清一下你之前定义环境变量的方式吗?
-
@itachi 定义在一个脚本中,该脚本在 appcenter 的构建过程中运行预构建。像其他环境变量一样访问。但我不知道如何在 project.pbxproj 文件中本地使用 env 变量
-
建议将现有的
Release项目配置复制到您的首选发布渠道,并为它们分别定义不同的 Preprocesor Macros,并在#if #elif #end的一个代码库中使用它们。
标签: ios xcode react-native react-native-ios