Laravel github操作多个dotenv文件

Laravel github操作多个dotenv文件,laravel,vue.js,github,github-actions,phpdotenv,Laravel,Vue.js,Github,Github Actions,Phpdotenv,我一直在为如何写这篇文章而挣扎,所以请容忍我。我会尽量说清楚: 设置: Github回购协议有3个分支机构(主/开发/分期) 每个分支都有一个唯一的dotenv文件 Repo有VueJS代码(但也可以是laravel) 现在,使用GitHub操作,我们根据分支部署到不同的域 我无法解决的是如何最好地处理不同的dotenv文件。在构建过程中,dotenv用于构建最终产品。理想情况下,出于显而易见的原因,我希望在GitHub中保留尽可能多的env文件内容,但我不确定这是否可行。另一种选择是基于分

我一直在为如何写这篇文章而挣扎,所以请容忍我。我会尽量说清楚: 设置:

  • Github回购协议有3个分支机构(主/开发/分期)
  • 每个分支都有一个唯一的dotenv文件
  • Repo有VueJS代码(但也可以是laravel)
现在,使用GitHub操作,我们根据分支部署到不同的域

我无法解决的是如何最好地处理不同的dotenv文件。在构建过程中,dotenv用于构建最终产品。理想情况下,出于显而易见的原因,我希望在GitHub中保留尽可能多的env文件内容,但我不确定这是否可行。另一种选择是基于分支拥有3个dotenv文件,但这只会增加保持它们同步的复杂性和混乱


处理此问题的最佳方法是什么,以便每个部署都能在dotenv文件中获得正确的设置?

免责声明:我对dotenv的最佳实践一无所知

如果您有一个大于允许的64 KB的秘密,您可以按照以下说明进行操作:

  • 加密您的秘密:

    gpg——对称——密码算法AES256.env
    
  • 将密码短语存储为机密,例如
    LARGE\u secret\u密码短语

  • 将加密文件添加到存储库中,例如作为
    .env.gpg

  • 要在工作流中解密,请运行以下操作

    运行:|
    gpg--安静--批处理--是--解密\
    --密码短语=${secrets.LARGE_SECRET_passphrase}\
    --output.env.env.gpg
    

您是否考虑过对整个dotenv文件进行加密,并在工作流程中使用一个秘密对其进行解密,如?@BenjaminW OMG you rock!!你能把这个变成正式的答案吗?这样我就可以投票了。。。这太完美了!!!这似乎是一个奇怪的场景,.env文件通常不应该提交到存储库,它们应该存在并在每个环境中分别管理。您说过“在构建过程中,dotenv用于构建最终产品。”因此,您可能对此有一些很好的用例。我可以问一下它是什么吗?是的,在git commit上,Github Actions运行命令来构建应用程序/站点,完成后将其部署到其位置(在本例中是S3静态网站托管)。因此,使用上面提到的系统,我可以将其排除在repo之外,并使用env文件来部署/服务代码。