Не могу получить переменные окружения из файла, работающего в fastlane

Пытаюсь следовать примерам и документам из fastlane относительно файлов env vars и dotenv, но я не могу заставить работать любые переменные ENV в fastlane. Мой Fastfile имеет это, чтобы проверить использование переменной:

lane :test do
  var1 = ENV["CRASHLYTICS_API_TOKEN"]
  puts "+++#{var1}"
end

Мой файл.env.default находится в том же каталоге, что и Fastfile, и просто содержит одну строку:

CRASHLYTICS_API_TOKEN="123abc"

Какой синтаксис мне здесь не хватает? Когда я запускаю тестовую полосу выше, все, что печатает, это +++. Я ожидаю +++123abc. Может проблема с Ruby - я не знаю Ruby. Я попытался явно установить драгоценный камень dotenv на Mac, и это не имело никакого значения.

2 ответа

Решение

Выяснилось, что проблема не в том, что файлы Fastfile и.env.default находятся в каталоге fastlane. Я запускал их из каталога, в котором они оба были, но этот каталог не назывался "fastlane". Обратите внимание, что команда "fastlane init" создает эту папку для вас. Тем не менее, удивляйтесь, почему ваши файлы должны находиться внутри этой папки, особенно если вы считаете, что fastlane фактически выполняет полосу в вашем Fastfile совершенно нормально (ну, кроме этой проблемы ENV), когда Fastfile находится в случайной папке. Должно быть, я пропустил это требование в документах. Я, вероятно, попал в этот беспорядок из-за экспериментов с действием импорта fastlane, пытаясь ссылаться на другие Fastfiles.

Хотелось бы получить подтверждение от @KrauseFx, если папка действительно требуется.

если вы используете командную строку (в Unix) для создания переменной env, не забудьте использовать ключевое слово экспорта , например:

      export CRASHLYTICS_API_TOKEN=123abc

в противном случае fastlane не сможет увидеть переменную.

Другие вопросы по тегам