如何避免通过开发者向Bitbucket推送凭证? [英] How to avoid credentials push to bitbucket via the developers?
本文介绍了如何避免通过开发者向Bitbucket推送凭证?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我们有一个应用程序,它使用JSON文件来定义数据库和其他API的连接字符串和凭据。理想情况下,这些凭据作为变量添加到Bitbucket repo中,并在Jenkins中的构建时替换。
开发人员在本地使用它们时会替换它们。
我们需要找到一种方法,以便他们不会将这些凭据错误地提交给Bitbucket。在提交之前,它们必须用各自的变量替换连接。 例如: Connection_string:DATABASE_CONN_STRING,
此外,无法将这些文件添加到.gitignore,因为在提交到Bitbucket所需的开发过程中,文件中的键值有多处更改。 我们使用Jenkins作为CI/CD工具。
任何帮助都将获得评价。或者,如果有人可以指导我,那么这样做的更好流程是什么。
推荐答案
如上所述,任何敏感数据都需要放在保险库(外部秘密存储服务)中。这样,它们就不会被错误地添加/提交。
使用上述敏感数据的任何配置文件都需要:
- 结账时自动生成
- 不是版本(表示添加到
.gitignore
,如果是以前的版本,则从资源库中删除) - 版本化为模板文件(具有占位符值的文件,签出时将替换为密码值)。
此过程通过模糊内容过滤进程完成:
您将(在.gitattributes
declaration中)注册content filter driver。
(图片来自";Customizing Git - Git Attributes";,来自";Pro Git book";)
与配置文件关联的smudge
脚本将(在git checkout
或git switch
上自动生成)实际配置文件,方法是将模板中的占位符值替换为Vault中的占位符值。生成的实际配置文件仍被忽略(由
.gitignore
)。
在";git smudge/clean filter between branches";查看完整示例。
这篇关于如何避免通过开发者向Bitbucket推送凭证?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文