Node.js和TeamCity

Bob*_* JS 7 teamcity plugins node.js npm gruntjs

我有以下问题:

在我们公司,我们启动了一个新的Web项目,包含许多.js .css文件.我们公司是一家Java公司,意味着所有开发都在:Java/Maven/Team City进行构建过程.

由于该公司已经在使用TeamCity,我们也希望将它用于Web构建,我们正在尝试在构建过程中引入Node.js和GruntJs.我想知道是否有人有像TeamCity中的跑步者那样设置/配置Node.js的经验?

最后,我们想要"提交"一个更改,然后一个构建,这个构建将使用Node.js运行器完成.我为TeamCity 找到了以下插件.

任何帮助将不胜感激

Qor*_*ani 4

我在 Web 项目中使用 GruntJS 和 TeamCity,该项目包含几个站点,例如 API、用户和​​管理门户以及单元/工作服/集成测试。经过几次原型设计后,我最终决定将所有逻辑放在一个 GruntJS 文件中,以分别构建项目的每个部分。

为此,我向源存储库添加了一个新项目以供部署。在该项目中,我有我的基础 Gruntfile.js,它只是项目每个部分的子 Grunt 构建过程的入口点。我可以通过 Grunt-CLI 将参数传递给基础来选择构建目标,例如: grunt --target=api (注意:我也传递版本/修订版和其他内容,但为了简单起见,我不会更深入地了解这个答案)

然后我创建了一个 shell 脚本,它按顺序使用所有可能的参数运行 grunt。最后,在 TeamCity 中的构建配置中创建了一个步骤来运行该 shell 脚本!

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

  1. 将所有部署逻辑置于源代码控制中,以获得更好的可维护性。
  2. 每个开发人员都可以访问它,甚至可以在本地计算机上进行构建
  3. TeamCity 集成变得如此简单,您还可以轻松地将其迁移到其他 CI 平台!

如果您希望每个项目都位于单独的存储库上,那么您可以使用基础 GruntJS 设置一个部署存储库,并为其他存储库创建子模块。