建立平台不可知论的开发团队霸权


9

我在一家公司工作,该公司的开发团队拥有许多不同的技能。

我们执行以下所有操作(通常面向网络):

  • .NET(MVC,Umbraco,ASP.NET,Surface)
  • Java(Spring,Hibernate,Android)
  • PHP(Zend,代码点火器)
  • 动作3
  • 空气
  • 目标C
  • HTML / Javascript(显然)

我们正在尝试简化我们的开发流程。

当前,我们有一个TeamCity服务器,该服务器使用msbuild / msdeploy / nant构建和部署.NET项目。

我想要的是像maven这样的东西,它将为我们提供标准的项目模板结构,该结构适用于大多数项目,以允许来自不同团队的人员轻松地在项目之间移动。

当前,这在一个平台上有效,因为我们倾向于以该平台的标准方式来做事情(只要涉及到某些人),但是我想使用maven之类的东西来标准化项目的布局和构建方式。

有人尝试过类似的东西吗?经验?图书?


那么这将如何工作?如果某人需要构建Web应用程序,他们是否需要指定一种语言,或者您是否要强制所有语言使用相同的结构,即使它不是该语言的理想选择。例如,像我用Java或C#一样构造javascript文件会很麻烦。
詹姆斯·布莱克

Answers:


3

至于.NET,有三个移植Maven的项目。请参阅stackoverflow.com上的此答案。另外,此Wiki文章可能会有所帮助。

至于其他语言,我建议应用Maven支持的相同结构(下面的所有源代码src/language/main,等等),然后编写Maven插件以构建它们,或者至少编写开箱即用的通用“ Makefile”模板。


2

当前,我们在项目中使用多种语言:C ++,Java,Ruby,Perl,OCaml,Shell,PHP和JavaScript。而且我们没有任何问题可以解决所有问题。因为每个组件都有其自己的结构和目录布局。该构建与GNU make处理的简单递归Makefile粘合在一起。有时,如果需要,他们有时会调用其他构建系统(例如,他们调用Java的Ant来构建Java代码)。如果将这些构建系统绑定到特定的布局,就没有问题,因为每个组件都有自己的组件,可以对其进行调整以满足构建系统的要求。

关键思想是将每个组件与其他组件分开。在其目录内,我们仅存储了文件,因为我们认为这对于该特定组件很有用。我们没有像src/目录这样的大型Blob ,例如,其中包含一种语言的所有代码。这样,我们在编辑不同组件中的代码时不会遇到任何问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.