首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Git或外部项目中的属性文件?

Git或外部项目中的属性文件?
EN

Stack Overflow用户
提问于 2015-07-09 09:13:02
回答 1查看 2K关注 0票数 0

我们正在开发一个基于spring的web应用程序,它需要部署在各种环境中:

1)开发本地机器,以开发新功能、修复bug等。

2) QA Env#1 -让QA团队测试我们的版本

3) QA Env#2 -让QA团队测试我们的版本

4) QA Env#3 -让QA团队测试我们的版本

5)生产

现在,这些环境之一的每个部署都需要填充一个属性文件,该文件包含许多参数:

1) tomcat ips

2) mysql ip

3) mongo ip

4)负载均衡器ip

5) ehcache多播端口和地址。

6)更多的

我们的问题是:

应该在哪里定义这个属性文件?在我们的代码库里?(git,在每个环境的文件夹中?)在我们的webapp项目之外(这样,每个环境都应该用正确的属性文件更新一次,然后部署就会直接进行,根本没有配置)?

请记住,我们正在开发一台build\deploy机器,它将自动将我们的项目部署到所有这些env中,因此在决定正确的处理方法时要记住这一点。

EN

回答 1

Stack Overflow用户

发布于 2015-07-09 09:48:25

通常,我不会将属性文件保存在存储库中,即使我们讨论的是私有的属性文件。我想到的一些原因是:

  • 不需要版本控制。我个人认为没有必要保留部署或QA属性文件的版本历史。
  • 客户隐私。您可能不希望与所有访问存储库的人员(开发人员、QA团队、.)共享部署配置。
  • 防止错误。错误会发生。开发人员错误地对部署或QA属性文件进行一些更改,可能会给您的构建/部署链带来一些严重的麻烦。

您可以做的是在存储库中添加一些包含应用程序默认配置(例如本地开发人员配置)的属性文件模板。

然后,您可以为不同的环境拥有不同的属性文件,这些文件仅在涉及的团队中分发(QA配置给QA团队,部署配置仅用于部署的系统)。

您的build\deploy机器很可能访问所有不同的属性文件,并且可以根据目标环境检索正确的属性文件。使用这种配置,将这些文件保存在存储库中没有好处,只需将它们存储在有权更改这些文件的人和build\deploy机器可用的位置就足够了。

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

https://stackoverflow.com/questions/31313077

复制
相关文章

相似问题

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