【问题标题】:What is the best way to load environment variables in your build在构建中加载环境变量的最佳方法是什么
【发布时间】:2022-02-09 16:48:18
【问题描述】:

对于我正在进行的项目,我正在设置 BitBucket 管道。除了环境变量外,一切都很好。我的环境变量的用途之一是 API_URL。我正在使用process.env.API_URL 加载网址。在本地这很好用,因为它使用 dotenv-webpack 加载 .env 文件。但是,在管道中,我不知道加载这些变量的最佳方法是什么。我应该将所有变量添加到 Bitbucket 并为管道文件中的每个变量添加 export API_URL=$API_URL,还是有更好的方法来加载变量?

【问题讨论】:

    标签: npm webpack environment-variables bitbucket bitbucket-pipelines


    【解决方案1】:

    工作区、存储库和部署变量是要走的路。您需要哪一个取决于您希望这些变量涵盖的范围(命名是不言自明的:一些变量不应该在整个帐户中更改它们的值;其他变量只对特定存储库有意义;最后,一些值是特定于部署环境)。

    只需在 Bitbucket UI 中或使用 API 定义变量,并从 bitbucket-pipelines.yml 或您从中调用的任何脚本中引用它们的值。您不需要添加任何 export 语句。 这是一个非常好的文档,解释了详细信息 - https://support.atlassian.com/bitbucket-cloud/docs/variables-and-secrets/ - 和 User-defined variables 部分与您的问题特别相关。

    或者,如果您提交了您的.env 文件,您可以按照this StackOverflow 的回答一次性导出其内容。

    显然,如果 .env 包含任何敏感值,请不要提交它。

    【讨论】:

      【解决方案2】:

      我认为这取决于您使用什么来为您的应用程序提供服务,并且在构建阶段 npm build 创建一个带有 env 值的静态人工制品。 因此,您可以使用 nginx 子过滤器,以防使用 nginx 将值替换为环境变量。

      此外,您可以按照此处所述设置 env - https://support.atlassian.com/bitbucket-cloud/docs/variables-and-secrets/

      【讨论】:

        猜你喜欢
        • 2019-09-08
        • 1970-01-01
        • 2020-09-22
        • 2018-11-09
        • 1970-01-01
        • 1970-01-01
        • 2011-02-25
        • 2021-11-04
        • 2011-12-28
        相关资源
        最近更新 更多