2013-03-08 50 views
7

我有以下问题:的Node.js和TeamCity的

在我们公司,我们开始一个新的Web项目,用了很多的.js .css文件。 我们公司是一家Java公司,意味着所有的开发工作都在Java/Maven/Team City中完成。

由于该公司已经在使用TeamCity的,我们也想使用它的网络建设,我们试图引进的Node.js和GruntJs在我们的构建过程。我想知道是否有人在TeamCity中设置/配置像Runner一样的Node.js?

在我们想“承诺”的变化,然后构建年底,此版本将与Node.js的运动员来完成。我为TeamCity找到了以下plugin

任何帮助将不胜感激

我使用其中包含几个网站,如API,用户和管理员门户和单位/工作服/集成测试的Web项目GruntJS和TeamCity的

回答

4

。经过几次原型设计之后,我最终决定将所有逻辑放在一个GruntJS文件中,以分别构建项目的每个部分。

要做到这一点,我添加了一个新的项目源代码库只是为了部署。在那个项目中,我有我的基础Gruntfile.js,它只是项目每个部分的子Grunt构建过程的入口点。我可以通过Grunt-CLI将参数传递给base,从而选择我的构建目标,例如:grunt --target = api(注意:我也通过Version/Revision和其他东西,但为了简单起见,我不深入这个答案)

然后我创建了与序列中的所有可能的参数运行繁重的一个shell脚本。最后,在TeamCity中创建一个构建配置的步骤,以运行该shell脚本!

通过这样做我获得了很多的好处,如:

  1. 将源控制范围内所有部署逻辑更好的可维护性。
  2. 每个开发者都可以访问它,甚至可以在本地机器上构建
  3. TeamCity集成变得如此简单,您也可以轻松将其移植到其他CI平台!

如果要将每个项目放在单独的存储库上,则可以使用基本GruntJS设置一个Deployment存储库并创建子模块到其他存储库。