【问题标题】:How to set environment variables in fastlane?如何在 fastlane 中设置环境变量?
【发布时间】:2018-07-17 13:21:12
【问题描述】:

我已经阅读了文档,但我仍然对在 fastfile 或 bash_profile 中设置环境变量的位置感到困惑。你能帮我解决这个问题吗?

我想要实现的是在 fastfile 中设置苹果开发人员凭据,并且不应该再次询问是否有任何用户提取了我的代码并尝试构建它。

我在 fastlane 文件中写这个。如果我错了,请告诉我。

default_platform(:ios)

platform :ios do

ENV["FASTLANE_DONT_STORE_PASSWORD"] = "1"
ENV["FASTLANE_USER"] = ""
ENV["FASTLANE_PASSWORD"] = ""

desc "GENERATE SCREENSHOT"
lane :Snaps do
capture_screenshots
end

end

【问题讨论】:

    标签: ios xcode automation fastlane


    【解决方案1】:

    您可以在before_all 中添加环境变量。试试这个。

    platform :ios do
      before_all do
        ENV["FASTLANE_DONT_STORE_PASSWORD"] = "1"
        ENV["FASTLANE_USER"] = ""
        ENV["FASTLANE_PASSWORD"] = ""
      end
    
      desc "GENERATE SCREENSHOT"
      lane :Snaps do
        capture_screenshots
      end
    end
    

    要不将密钥存储在 git 中,您可以使用环境变量传递所有操作的所有参数。

    您可以编辑您的 ~/.bash_profile 以包含类似的内容

    export FASTLANE_DONT_STORE_PASSWORD ="1"
    export FASTLANE_USER =""
    export FASTLANE_PASSWORD =""
    

    【讨论】:

    • 那么上述任何一种方式都是正确的吧?为匹配密码设置任何标志?
    • 第一个是正确的,因为您没有将 fastfile 添加到 git(您不想将登录名和密码推送到 repo)。第二个很好,因为您的凭据保留在本地计算机上。我不知道匹配密码之类的东西。
    • @Bilal 对于匹配密码,您可以使用 MATCH_PASSWORD 环境变量。
    • 我按照你说的做了。我在上面添加到 git 并使用其他系统来生成构建。但它仍然要求提供 Apple 开发人员凭据。我怀疑它没有设置在环境变量之上。
    猜你喜欢
    • 1970-01-01
    • 2019-07-02
    • 2014-09-29
    • 2016-06-27
    • 2012-08-03
    • 2017-07-31
    • 2015-08-01
    • 2011-08-23
    相关资源
    最近更新 更多