【问题标题】:enviroment varriables / .env files [duplicate]环境变量/ .env 文件 [重复]
【发布时间】:2020-02-06 15:51:54
【问题描述】:

我目前正在开发一个应用程序,该应用程序在 cloudfoundry 上有两个平台,其中有一个“开发”和一个“生产”空间。显然,我想在我的开发空间中使用沙盒 API 密钥,并在我的生产空间中使用实时 API 密钥。

我有一个开发和生产分支,.env 是我的.gitignore,所以很明显它们不会进入我的存储库,但是如果我运行cf push,.env 文件将被推高空间。如果我切换分支,.env 文件不会因为 .gitignore 而被切换,那么我该如何确保我的环境使用正确的 env 文件?

谢谢

【问题讨论】:

    标签: php laravel environment-variables cloud-foundry


    【解决方案1】:

    cf push 不使用.gitignore。他们使用自己的文件.cfignore

    如果要推送.env,需要将.gitignore中的.env去掉。

    【讨论】:

      【解决方案2】:

      您可以创建一个.cfignore 文件以忽略.env 文件被推送。语法与.gitignore 文件相同。

      以下是相关文档: Limit the Upload Files

      【讨论】:

      • 我希望 env 文件上升,我的问题是如何将它们放入 git 中?如果 GIT 没有跟踪它们,并且我从开发分支切换到生产分支,则未跟踪的 .env 文件不会更改,因此 cf push 不会更改服务器上的 .env 文件。
      • 您最好使用cf env 来管理不同环境中的变量。
      • 这有点笨拙,但你可以保留这两个文件,所以.env 是你的开发/本地文件,.env-prod 是你的远程/产品文件。然后在项目的根目录(运行cf push 的位置)添加一个名为.profile 的文件。该文件只是一个在您的应用程序启动之前运行的脚本,因此您只需输入一个mv .env-prod .env 并用 prod 文件覆盖本地文件。也就是说,使用环境变量或用户提供的服务通常是您在这里所做的。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-15
      • 2021-11-19
      相关资源
      最近更新 更多