版本控制:频繁单独发布备用程序文件的最佳工具
早上好,伙计们。 这次是关于版本控制工具的一般问题。 在我的 SW 房子里,有 15 名员工在 ACU COBOL 上工作,为药房开发管理软件。 我是唯一一个从事其他集成软件工作的 .NET 人员。 这个管理软件由300-400个程序组成,我的同事经常修改并发布备用zip包中的程序;该理念类似于 Linux 发行版中的“滚动发布”。
在这种工作环境下,怎样的版本控制工具才是最好的呢? 现在他们不使用任何版本控制工具,因此他们没有先入之见:只是要学习和使用新事物。 他们需要使用某种标签来跟踪程序的更改,因此当他们必须发布修复程序(zip 包)时,他们可以进入存储库并获取标记的修改程序以实现特定请求。 我们正在考虑 Mercurial 和 Trac,但我想从其他开发人员那里了解是否有更好的工具来管理我们特定的工作和发布流程。
谢谢!
Nando
谢谢你 VonC! 我会尽力更好地解释我们的需求。
嗯,跟踪历史记录对我们来说很重要,因此 VCS(类似于 Mercurial 的 DVCS)可能是一个不错的选择。
现在,源管理是手动完成的:有一个文件夹用作主干,开发人员在其中完成工作。当努力解决错误或实现新的“紧急”功能请求时(我们与药房合作,受到我们不能忽视的数千种不同法律的影响......),他们在 Excel(!)电子表格上写下哪些程序受到他们的工作的影响;完成后,他们在发布模式下编译这些程序,构建 zip,然后将其发布到我们的自定义 Web 应用程序上,我们的软件分销商可以在其中获取它并将其发布到他们的客户的自定义前端(使用我们的管理软件)可以获得更新。
我们需要跟踪这种工作方法:
Mercurial 可以是一个解决方案,但我只想知道其他人是否也遇到过这些相同的问题以及如何解决这些问题。
谢谢!
南多
Good morning guys.
This time a general question about versioning tools.
In my sw house 15 people works on ACU COBOL, producing a management software for pharmacy.
I'm the only .NET guy, working on other integration sw.
This management sw is composed by 300-400 programs, and my colleague often modify and release programs in spare zip packages; the philosophy is similar to "rolling release" in Linux distribution.
In this kind of working environment, how versioning tool can be the best?
Now they don't use any versioning tool, so they have no preconcepts: just a new thing to learn and use.
They need to track changes to the programs using sort of tags, so when they have to publish a fix (a zip package) they can go in repository and get tagged modified programs to achieve a particular request.
We are thinking about Mercurial and Trac, but I'd like to know from other developers if there are better tools to manage our particular working and release flow.
Thank you!
Nando
Thank you VonC!
I'll try to explein better our needs.
Well, tracking history is important for us, so VCS (a DVCS like Mercurial) can be a good choice.
Now source management is done by hand: there's a folder that we use as a main trunk, and where developer do their work. When working to resolve a bug or implementing new "urgent" feature requests (we work with pharmacies, affected by thousands of different laws we cannot ignore…), they write down on an Excel (!) spreadsheet which programs are affected by their work; when done, they compile these programs in release mode, build the zip, then they publish it on a our custom web app, where our sw distributor can get it and publish it on their custom frontend, where their clients (using our management sw) can get the updates.
We need to keep track about this kind of working method:
Mercurial can be a solution, but I only want to know if anyone else had these same problems and how resolved them.
Thank you!
Nando
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我建议区分:
事实上,您经常发布意味着您必须“清理”一些您不再需要的旧版本(并且会占用您的磁盘空间以及备份):删除旧工件要容易得多在 Maven 存储库(例如)中比在任何 VCS 工具中(其设计是为了保留历史记录!)
I would advice to differentiate:
The fact that you release often means you will have to "cleanup" some old release you don't need anymore (and which eats, release after release, your disk space as well as your backups): it is much easier to remove old artifact in a Maven repo (for instance) than in any VCS tool (which are designed to retain the history!)