.env
、.env.default
和加载变量.env.{environment}
,其中由命令中的environment
标志提供。--env
fastlane
Fastfile
环境文件。.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::ENVIRONMENT
Fastlane 内部从正确的位置加载正确的文件。
归档时间: |
|
查看次数: |
3368 次 |
最近记录: |