【问题标题】:How to deploy React app from Github to AWS S3 bucket with environment variables set Note: I didn't push .env files in github如何将 React 应用程序从 Github 部署到设置了环境变量的 AWS S3 存储桶注意:我没有在 github 中推送 .env 文件
【发布时间】:2020-04-24 07:25:53
【问题描述】:

嗨 React 专家(尤其是具有 CI/CD 知识的),

请仔细阅读并提供一些可能的方法。

背景:

  • 我使用“create-react-app”创建了一个反应应用
  • 命令 我为不同的环境创建了 3 个 .env 文件,例如 .env.development、.env.staging 和 .env.production。
  • 出于安全原因,我们不应将这些 .env 文件推送到公共 Github 存储库
  • 我已经对 .gitignore 文件采取了必要的步骤

现在我想将我的代码从 Github 直接部署到设置了这些环境变量的 AWS S3 存储桶。 如何做到这一点?

注意:我没有在 Github.b 中推送我的 .env 文件所以,我的 Github 存储库不包含那些 .env 文件。

【问题讨论】:

标签: reactjs github amazon-s3 continuous-deployment


【解决方案1】:

根据here。我们无法在 S3 中设置环境变量。 S3 只是一个静态对象存储,而不是动态内容服务器。

根据react documentation,在执行npm run build 后,运行时中的所有环境变量都设置为最终构建(在构建文件夹内)。在构建 React 应用程序时,.env 文件中的所有秘密变量都在运行时环境中,并且在完成 npm run build 之后,这些环境变量(秘密变量)被添加到构建文件夹(最终应用程序)中。

由于 S3 不是运行时环境,我们需要构建一个 React 应用并在创建存储桶后将 build 文件夹上传到 S3 存储桶,或者我们可以使用 GitHub 操作提供该环境变量。

【讨论】:

    猜你喜欢
    • 2021-11-30
    • 2023-01-11
    • 2021-12-16
    • 2020-04-23
    • 1970-01-01
    • 2018-06-02
    • 1970-01-01
    • 2021-06-29
    • 2021-01-17
    相关资源
    最近更新 更多