.env、.env.default和加载变量.env.{environment},其中由命令中的environment标志提供。--envfastlaneFastfile环境文件。.env.{environment}时,我想保留加载文件的行为。{environment}--env这对我有用:
before_all在我的块中使用以下内容platform: before_all do |lane|
Dotenv.overload '../../.env'
environment = lane_context[SharedValues::ENVIRONMENT]
unless environment.nil?
puts "Load .env file of #{environment}"
Dotenv.overload '../../.env.' + environment
end
end
Run Code Online (Sandbox Code Playgroud)
.env文件fastlane。创建空文件的原因.env记录在我的空.env文件中:
TL;DR:不要删除这个空文件
该文件为空,以使 Fastlane 定义
SharedValue::ENVIRONMENT变量,这是我们配置的一部分fastlane/Fastfile。正如您在 Fastlane 中看到的
cli_tools,Fastlane很早就--env删除了索引 ,因此我们无法知道用户传递给参数的内容。ARGV--env
fastlane不幸的是,Fastlane 仅在该文件夹及其父文件夹(在我们的示例中为该文件夹)中搜索 .env 文件ios。这意味着,在我们的项目中,Fastlane 将找不到任何 .env 文件。(来源)当 Fastlane 找不到 .env 文件时,它不会调用
load_dot_envs_from负责定义SharedValue::ENVIRONMENT变量的函数,我们在 Fastfile 中使用该变量(源代码)这个文件是一个 hack,它会让 Fastlane 找到一个空
.env文件。然后它将设置SharedValue::ENVIRONMENT为 ARGV 值。然后我们使用SharedValue::ENVIRONMENTFastlane 内部从正确的位置加载正确的文件。
| 归档时间: |
|
| 查看次数: |
3368 次 |
| 最近记录: |