如何将带有环境变量设置的React应用从Github部署到AWS S3存储桶?注意:我没有在Github上推送.env文件。

9

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

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

背景:

  • 我使用 'create-react-app' 创建了一个React应用
  • 我创建了三个不同环境下的.env文件,如.env.development、.env.staging和.env.production
  • 出于安全原因,我们不应该将这些.env文件推送到公共的Github仓库中
  • 我已经在.gitignore文件中采取了必要的措施

现在我想直接从Github将我的代码部署到AWS S3存储桶,并设置这些环境变量。怎样才能做到这一点呢?

注意:我没有将.env文件推送到Github上。因此,我的Github仓库不包含这些.env文件。


1
这个回答解决了你的问题吗?在AWS S3上为静态网站配置环境变量 - Mike Doe
1个回答

3
根据这里,我们无法在S3中设置环境变量。S3只是一个静态对象存储,而不是动态内容服务器。
根据React文档,执行npm run build后,所有运行时的环境变量都设置为最终构建(位于build文件夹内)。在构建React应用程序时,.env文件中的所有机密变量都在运行时环境中,并且在完成npm run build之后,这些环境变量(机密变量)将被添加到构建文件夹(最终应用程序)中。
由于S3不是运行时环境,因此我们需要构建一个React应用程序,并在创建存储桶后上传build文件夹到S3存储桶,或者我们可以使用GitHub操作提供该环境变量。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接