首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何阻止开发人员在生产环境中进行调试

如何阻止开发人员在生产环境中进行调试
EN

Stack Overflow用户
提问于 2020-01-05 00:37:33
回答 2查看 75关注 0票数 1

最近,我的团队将我们的应用程序部署到生产环境中,现在我们有3个环境:开发、测试和生产。现在,我有了一个配置文件,其中包含一个DB的URL参数(当然有3个DB,每个环境一个)。

使用maven时,我在pom文件中有3个配置文件,每个环境一个,所以在dev中,maven会自动为dev创建一个配置文件。但问题是,如果开发人员意外地在配置文件中保存了生产数据库的URL,而不是开发数据库的URL,这将在生产中造成许多问题。

如何阻止开发人员在开发过程中访问生产数据库?

注意:

1)我希望开发人员在一般情况下都能访问生产数据库,只是在开发时不能。

2)我们使用的是java、intellij和maven,所以我想可能会有maven的解决方案,或者intellij的插件……

谢谢

EN

回答 2

Stack Overflow用户

发布于 2020-01-05 00:54:39

对于配置服务器来说,这是一个非常好的用例。

它将允许您控制对配置本身的访问,而不是将其混合到您的项目中。例如,可以阻止开发人员访问生产配置。以及禁止生产用户访问的开发配置。

如果Spring Cloud Config可以包含在您的技术堆栈中,那么它是一个很好的候选者。

https://cloud.spring.io/spring-cloud-config/reference/html/

票数 1
EN

Stack Overflow用户

发布于 2020-01-05 01:45:00

这是一个典型的容器化用例。如果你可以将你的应用部署在一个非常棒的docker环境中,你可以将config设置为环境变量。devops代码将使用单独的环境变量为dev、qa和prod构建docker镜像。

请参阅https://12factor.net/config

如果你没有接近于容器化,那么你可以做一些类似的事情-

1)在构建过程中,不要将配置包含在jar文件中。

2)在部署过程中,为给定的环境和jar放置一个属性文件。您可以将属性文件作为部署devops代码的一部分进行源代码控制。

在开发过程中,开发人员可以拥有一份dev属性文件的副本,他们不需要将其提交给源代码管理。如果他们错误地提交了它,那么就不会有问题,因为构建过程会忽略它,并且部署会根据环境添加属性文件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59592720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档