7

我的新项目需要我使用 TFS + Git。

忏悔:我对TFS一无所知。

我想为我的 JavaScript 项目设置一个构建。我想使用咕噜声。

这可能吗?有人在 TFS 中使用过 Grunt 吗?

4

5 回答 5

18

在我们当前的项目中,我们使用 Grunt 和 TFS。我已经将 Grunt 与 TFS 集成在一起,方法是从一个 bat 文件中调用它,您可以在项目文件的Pre-或 Post-BuildEvents部分中连接它。

但是,由于 TFS 将使用特定的环境变量执行您的构建,因此您需要使用绝对路径。

我们所做的事情的清单

  1. 在你的构建机器上安装 node.js(当然也可以在你的开发机器上)
  2. package.json在 JavaScript 项目的根目录中添加一个文件。
  3. 用于在本地npm安装(!)。使用标志将此包添加到开发依赖项部分grunt-cli --save-devpackage.json
  4. 对于您需要的所有其他包,请使用带有与步骤 3 相同标志的 npm
  5. 编写一个 bat 文件(参见下面的示例),您将在其中
    1. 利用绝对路径
    2. 使用 npm 安装 packages.json 文件中列出的所有包
    3. 叫咕噜
  6. 在您的 Pre- 或 PostBuildEvents 中,调用此 bat 文件

bat 文件示例

rem use call to execute other bat files
echo npm install 
call "C:\Program Files\nodejs\npm" install

rem because we have listed grunt-cli as a dev dependency,
rem the executable will be located in the node_modules folder
echo grunt
call "./node_modules/.bin/grunt"
于 2013-07-01T09:15:23.293 回答
2

当我必须使用 TFS 时,我将 grunt 与 TFS 一起使用。我试过 grunt-tfs-unlock,但遇到了这个问题。我使用 grunt-shell 解决了这个问题,它可以工作,让您更多地负责配置。这个要点展示了我如何将 TFS 与 grunt 一起使用。它演示了 'tf checkout' 命令,但您可以使用此模式轻松创建任何 tf 命令。

于 2013-08-06T15:34:02.510 回答
2

我尝试了此处列出的所有答案,但在使用NCapsulate之前,我无法使用 TFS 成功地自动构建和部署。它消除了在构建代理或开发机器上单独安装 NodeJ 的需要。只是一个 NuGet 包。

只要确保您正确设置了构建目标并且它运行良好。

于 2015-03-12T15:53:17.170 回答
1

您可以找到有关如何在构建服务器上使用 grunt 的完整示例场景:http: //www.codit.eu/blog/2015/03/18/continuous-integration-with-javascript-nunit-on-tfsbuild-(第 23 部分)/

于 2015-03-19T07:10:16.260 回答
0

在您的构建服务器上安装节点等...而是由 TFS 创建。

于 2014-11-06T19:13:39.453 回答