github 操作多个 dotenv 文件

github actions multiple dotenv files

我一直在努力写这篇文章,所以请耐心等待。我会尽量说清楚: 设置:

现在,使用 GitHub 操作,我们根据分支部署到不同的域。

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

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

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

如果您的秘密大于允许的 64 KB,您可以按照 Limits for secrets 的说明进行操作,大致如下:

  • 加密你的秘密:

    gpg --symmetric --cipher-algo AES256 .env
    
  • 将密码存储为秘密,例如LARGE_SECRET_PASSPHRASE

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

  • 要在工作流中解密,运行类似于

    run: |
      gpg --quiet --batch --yes --decrypt \
          --passphrase=${{ secrets.LARGE_SECRET_PASSPHRASE }} \
          --output .env .env.gpg