您可以有一个单独的项目/包,其中包含特定于环境的配置,包括您的秘密。
这些秘密是用一个只有授权人员才能拥有的私人密钥加密的。
在安装包时,您将需要私钥来解密目标计算机上的机密,这可以由具有访问私钥权限的ops/dev ops完成。
这样,您就可以安全地将加密的秘密推送到GitHub或任何不安全的环境中。
或者,你可以看看
https://www.agwa.name/projects/git-crypt/
这允许您拥有加密的文件,但我仍然希望有一个单独的包来存放这些秘密,因为您需要每个环境(UAT、PROD等)使用不同的秘密。
或者你可以加密整个回购协议
https://github.com/spwhitton/git-remote-gcrypt
但是,您将丢失托管环境功能,如浏览提交历史记录等。