Node.js和TeamCity

7

我有以下问题:

我们公司正在启动一个新的Web项目,涉及大量的.js和.css文件。我们公司是一家Java公司,意味着所有的开发都是使用Java/Maven/Team City进行构建。

既然公司已经在使用TeamCity,我们希望在Web构建中也使用它,因此我们尝试在我们的构建过程中引入Node.js和GruntJs。我想知道是否有人有在TeamCity中设置/配置Node.js作为runner的经验?

最终我们想要“提交”一个更改,然后进行构建,这个构建将使用Node.js runner完成。我找到了适用于TeamCity的以下插件

任何帮助将不胜感激。

1个回答

4
我正在使用GruntJS和TeamCity进行Web项目开发,其中包括API、用户和管理员门户以及单元测试、模拟测试和集成测试等多个站点。在经过几次原型设计后,我最终决定将所有逻辑都放在一个GruntJS文件中,以便分别构建项目的每个部分。
为此,我在源代码库中添加了一个新项目用于部署。在该项目中,我有一个基本的Gruntfile.js,它只是每个项目部分的子Grunt构建流程的入口点。我可以通过Grunt-CLI向基础文件传递参数来选择我的构建目标,例如:grunt --target=api(注意:我还传递版本/修订和其他内容,但为简单起见,本答案不再深入解释)。
然后,我创建了一个shell脚本,按顺序运行grunt并带上所有可能的参数。最后,在TeamCity的构建配置中创建了一个步骤,只需运行该shell脚本即可!
通过这种方式,我获得了许多好处,例如:
  1. 将所有部署逻辑放在源代码控制下,以便更好地进行维护。
  2. 每个开发人员都可以访问它,甚至可以在本地机器上构建。
  3. 与TeamCity的集成变得非常简单,您也可以轻松将其移植到其他CI平台!
如果您想要在不同的代码库中拥有每个项目,则可以设置一个部署代码库,其中包含基本的GruntJS,并创建子模块以连接其他代码库。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接