我们如何有效地对由多个子应用程序组成的大型 Web 应用程序进行版本控制?
我是我们公司门户网站运营团队的一员。门户内部有约 200 个小型应用程序(我们称之为应用程序)。一个可能是提交收据,另一个是提交时间表,另一个是查看正在进行的活动等。
这些应用程序中的每一个都与其他应用程序完全分开,因此我们为每个应用程序创建了单独的 trunk/branch/tags 文件夹。这样,它们就可以单独开发和发布,而无需团队中的每个人都同意立即部署整个门户的时间。让门户的每个开发实例保持最新几乎是不可能的,因为使其适应的唯一方法是将每个主干检出到子文件夹中。
从分离的角度来看,这很好,但是当我们想要设置一个新的开发人员并在其本地计算机上运行整个应用程序的副本时,这就非常混乱了。
我们是否需要编写一个复杂的庞大构建脚本来获取每个主干并将其内容放置在 Web 应用程序上下文中的适当位置?
I'm part of a team that operates a portal for our company. There are ~200 small, what we call applications, inside of the portal. One may be to submit receipts, another to submit a timesheet, another to see activities going on, etc.
Each of these applications is fairly separate from the others, so we've created individual trunk/branch/tags folders for each of them. This way they can be developed and released individually without everybody on the team having to agree on a time to deploy the entire portal at once. Keeping each dev instance of the portal up to date is nearly impossible, because the only way to get it to fit is to check out each trunk into a subfolder.
This is nice from a separation point of view, but is very messy when we want to set up a new developer with a copy of the entire application to run on their local machine.
Do we need to just write a sophisticated huge build script to take each trunk and place its contents in the appropriate location in the context of the web application?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
可能您需要创建一个单独的分支(例如“门户”),它可以将 svn:externals 连接到所有其他应用程序。通过这种方式,检查门户将为您提供整个环境。您可以扩展这个想法和分支/标签门户本身。编写一个脚本来设置 svn:externals 以创建“门户”分支也可能是一个好主意。
Probably you need to create a separate branch ( say "portal") which can have svn:externals to all the other other application. This way checking out portal will give you the whole environment. You can extend this idea and branch/tag portal itself. Writing a script to set the svn:externals for creating a "portal" branch might be a good idea too.
设置初始环境的脚本可能是最好的。一旦您开始切换到分支,使用 Subversion 本身来设置之类的解决方案就会失败。
A script to setup the initial environment is probably the best. Solutions like using Subversion itself to set it up fail once you start switching to branches.