将 react-native-config 与 fastlane 一起使用
Using react-native-config with fastlane
目前在我的 react-native 应用程序中,我使用 fastlane
: beta
and production
. I'm using react-native-config
配置两条通道用于不同的环境配置(存储在 2 个文件中:.env.beta
和 .env.production
)。我怎样才能让 fastlane
知道每个通道应该使用哪个 env 文件?
如果您在调用构建应用程序的命令之前询问如何设置环境变量,您可以在 Fastfile
中执行此操作。在您的 Fastfile
中,在您调用 fastlane
操作来构建您的应用程序之前,将 ENV['ENVFILE']
变量设置为指向您的 .env.X
文件。见 react-native-config docs on environments.
lane :build_beta do
ENV['ENVFILE'] = '.env.beta'
build_ios_app(...) # you may be using `gym` instead.
end
lane :build_production do
ENV['ENVFILE'] = '.env.production'
build_ios_app(...) # you may be using `gym` instead.
end
更好的是,如果车道完全相同,您可能希望使用命令行中的配置选项调用它:
# call me from the command line like: `fastlane build_sonlexqts_app config:beta`
lane :build_sonlexqts_app |options|
config = options[:config]
unless %w(beta production).include?(config)
UI.user_error!("#{config} is invalid. Please pass either 'beta' or 'production'")
end
ENV['ENVFILE'] = ".env.#{config}"
build_ios_app(...) # you may be using `gym` instead.
end
我设法让 react-native-config
使用 fastlane
提供的环境变量功能获取正确的配置文件 fastlane [lane] --env [beta|production]
。
目前在我的 react-native 应用程序中,我使用 fastlane
: beta
and production
. I'm using react-native-config
配置两条通道用于不同的环境配置(存储在 2 个文件中:.env.beta
和 .env.production
)。我怎样才能让 fastlane
知道每个通道应该使用哪个 env 文件?
如果您在调用构建应用程序的命令之前询问如何设置环境变量,您可以在 Fastfile
中执行此操作。在您的 Fastfile
中,在您调用 fastlane
操作来构建您的应用程序之前,将 ENV['ENVFILE']
变量设置为指向您的 .env.X
文件。见 react-native-config docs on environments.
lane :build_beta do
ENV['ENVFILE'] = '.env.beta'
build_ios_app(...) # you may be using `gym` instead.
end
lane :build_production do
ENV['ENVFILE'] = '.env.production'
build_ios_app(...) # you may be using `gym` instead.
end
更好的是,如果车道完全相同,您可能希望使用命令行中的配置选项调用它:
# call me from the command line like: `fastlane build_sonlexqts_app config:beta`
lane :build_sonlexqts_app |options|
config = options[:config]
unless %w(beta production).include?(config)
UI.user_error!("#{config} is invalid. Please pass either 'beta' or 'production'")
end
ENV['ENVFILE'] = ".env.#{config}"
build_ios_app(...) # you may be using `gym` instead.
end
我设法让 react-native-config
使用 fastlane
提供的环境变量功能获取正确的配置文件 fastlane [lane] --env [beta|production]
。