请推荐内部共享源代码的解决方案
我是一名C#开发人员,我们公司有4个团队,每个团队都投入了大约5年的C#/Java开发经验。这些年来我们编写了一些应用程序(有些是为了提高我们自己的工作效率,有些是为了评估新学习的技术),或者从网上下载一些示例程序来满足一些特定的场景。
问题是,这些应用程序/程序不是在一个集中的网站上存储和介绍的。有些应用程序/程序被置于源代码控制之下——没有介绍,有些是个人保留的——除了所有者本人之外,没有人知道它的存在。你知道如果你在找到轮子之前就重新发明了轮子,那是相当令人沮丧的(我们经常在不同的团队中遇到这种情况)。
那么任何人都可以帮助我推荐任何解决方案来实现这个目标:
- 通过介绍恢复源代码。
- 与Git集成,或者方便追踪源代码版本。
- 易于搜索。
- 易于设置和维护。我们需要在我们公司内部设置这样的服务。
它看起来很像sourceForge,也许:)我想可能已经有适合我的产品了,不是吗?
非常感谢您的关注!
------------更新--------------
最后我们选择 Redmine 现已托管 10 多个存储库,它与 Git(以及许多其他源代码控制工具)集成良好,支持 wiki 编写文档,并且方便用户报告错误、需要托管项目的功能。也鼓励我们的开发者凭着自己的兴趣去开发和分享。
I work as a C# developer,our company has 4 teams,each of which devoted some 5 years develop in C#/Java.During years we wrote some applications(Some to improve our own work efficent,some to evaluate newly-learnt techs),or downloaded some sample program from internet to meet some specific scenarios.
The problem is,these app/programs are not stored and introduced at a concentrated website.Some app/programs are put under source control--without introcduction,some are kept personally--no one except the owner himself knows its existance.You know it's quite frustrating if you re-invented the wheels before you find the wheels in a corner(We often break into such case across different teams).
So could anyone help recommend any solution for me to achieve this goal:
- Restore the source code with introduction.
- Integrate with Git , or convenient to trace source code version.
- Easy to search.
- Easy to setup and maintain.We need to setup such service within our company.
It quite looks like sourceForge,maybe:)I think probably there is already a proper product for me,isn't it?
Thank you very much for your attention!
------------Update--------------
Finally we choose Redmine and are now hosting 10+ repositories, it integrates well with Git(And many other source control tools), supports wiki to write documents, and it's convenient for users to report bugs, require features for the hosted projects. It also encourages our developers to develop and share by their own interests.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
你的问题确实是哲学问题之一。根本问题是没有人掌控这种流程,而你有 4 个团队,但没有一个人意见一致。听起来你想拥有这一切,这是一件好事。
该工具可以是任何工具,但可能应该是分布式源代码控制,例如 Mercurial 或 Git。 Subversion 可以,但相信我,如果你的团队也是分布式的,分布式系统会更容易运行。如果您在 Windows 平台上运行,我个人喜欢 Mercurial;它比 Git 集成得更好。您可能需要几天的时间才能设置具有权限的存储库,但将所有内容放在同一个位置是正确的方法。然后,只需有人承担管理该系统的角色,并确保任何新项目立即纳入源代码控制。
除此之外,你最大的障碍之一是培训。为他们提供适当的工具(每个人都最好使用相同的工具),例如插件或 shell 集成。指导他们如何创建新的存储库、拉取、分支、合并等。但最重要的是,像老鹰一样观察他们几个月,直到您对正在发生的事情感到满意为止。
Your problem really is one of philosophy. The root issue is that nobody is taking ownership of this kind of process, and you have 4 teams of people, none of whom are on the same page. It sounds like you want to take ownership of this, and that's a good thing.
The tool can be anything, but should probably be a distributed source control like Mercurial or Git. Subversion would work, but trust me, a distributed system will flow much easier if your teams are also distributed. I personally love Mercurial if you're running on Windows platforms; it integrates much more nicely than Git. It will probably take you a few days to get repositories set up with permissions, but putting everything in the same place is the right way to go here. Then, it's just a matter of someone taking the role of administrating that system, and ensuring any new projects get put into source control right away.
Other than that, your biggest hurdle is one of training. Give them the proper tools (and everyone should preferably use the same tools) like plugins or shell integration. Give them instructions on how to create new repositories, pull, branch, merge, etc. But most of all, watch them like a hawk for a few months until you're comfortable with what's going on.
使用 GitHub 或您自己的 SVN 服务器的集中式源代码存储库就可以满足您的需求。听起来您的开发环境已经有一段时间是狂野西部了;你只需要在镇上找一位新警长。
如果这确实是一个团队环境,我还建议设置 CI;我相信,TeamCity 对于单代理安装是免费的(编辑:正如评论的那样,最多 3 个代理是免费的)。它可以执行单元和集成测试、代码覆盖率、FxCop 分析以及基于签入 SVN 或其他存储库的其他自动构建任务。这可以是你的“警长”; TeamCity 将检查对存储库的任何签入,如果构建“破坏”,TeamCity 将能够指出谁签入了破坏构建的更改。
A centralized source repository using GitHub or your own SVN server should be all you need. Sounds like your development environment has been the Wild West for a while; you just need to get a new sheriff in town.
I would also suggest setting up CI if this really is a team environment; TeamCity is, I believe, free for a single-agent installation (Edit: as was commented, it's free for up to 3 agents). It can perform unit and integration testing, code coverage, FxCop analysis, and other automated build tasks based on check-ins to an SVN or other repo. This can be your "sheriff"; any checkins to the repo will be examined by TeamCity and if the build "breaks" TeamCity will be able to call out who checked in the change that broke the build.
也许是鱼眼,但它不是免费的: http://www.atlassian.com/software/fisheye/
希望这会有所帮助。
maybe fisheye but it's not free : http://www.atlassian.com/software/fisheye/
Hope this helps.
如果您不介意它是托管解决方案,我建议使用 http://www.codespaces.com/
它非常实惠,我相信可以满足您的所有要求。
If you don't mind it being a hosted solution I recommend using http://www.codespaces.com/
It's super affordable and I believe meets all your requirements.
Allura
trac
redmine
Allura
trac
redmine