我有一个github回购,我有两个分支机构。
- 主分支//具有生产密钥和变量
- 开发分支//具有开发密钥
在dev分支上,许多组件都定义了开发密钥和API URL,而主分支上的相同文件具有生产级密钥和API URL。每次更新都首先推送到dev分支,然后在QA之后推送到主分支(最后是live env)我面临的问题是,每次我创建从dev到main的pull请求时,这些键都会被覆盖(即使带有键的组件没有被更新,pr仍然会认为这些文件不同,并覆盖主生产键).当带有dev值的组件没有被更新时,我如何防止它们出现在拉取请求中?
1条答案
按热度按时间zzwlnbp81#
让我给予你一个开箱即用的解决方案,这在业界是比较传统的。
任何你想成为分支特定的值都应该被选作环境变量。使用环境变量你可以完全在基础设施级别上保持事物的独立。
例如:
1.您希望将dev分支部署到development env中,以便在dev ec2或container中可以从环境中读取变量,并且代码中没有变量。
1.这同样适用于生产环境,您可以从env而不是从code中获取这些值,因此由于环境变量的原因,您的代码保持不变,并且您不会面临在两个分支中保持不同的问题。
此外,你不必在git中保存敏感密钥、密码或其他凭证,这些应该在基础设施级别处理。