Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我可以在TFS中使用Grunt吗?_Javascript_Tfs_Continuous Integration_Tfsbuild_Gruntjs - Fatal编程技术网

Javascript 我可以在TFS中使用Grunt吗?

Javascript 我可以在TFS中使用Grunt吗?,javascript,tfs,continuous-integration,tfsbuild,gruntjs,Javascript,Tfs,Continuous Integration,Tfsbuild,Gruntjs,我的新项目需要我使用TFS+Git 坦白:我对TFS一无所知 我想为我的JavaScript项目设置一个构建。我想用咕噜 这可能吗?有人使用Grunt和TFS吗?在我们当前的项目中,我们使用Grunt和TFS。我已经将Grunt与TFS集成在一起,方法是从一个bat文件中校准它,您可以在项目文件的一节中连接它 但是,由于TFS将使用特定的环境变量执行构建,因此需要使用绝对路径 我们做过的事情的列表 rem use call to execute other bat files echo npm

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

坦白:我对TFS一无所知

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


这可能吗?有人使用Grunt和TFS吗?

在我们当前的项目中,我们使用Grunt和TFS。我已经将Grunt与TFS集成在一起,方法是从一个bat文件中校准它,您可以在项目文件的一节中连接它

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

我们做过的事情的列表

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"
  • 在构建机器(当然也包括开发机器)上安装node.js
  • 在JavaScript项目的根上添加一个
    package.json
    文件
  • 使用
    npm
    在本地安装
    grunt cli
    (!)。使用
    --save dev
    标志将此包添加到
    package.json中的开发依赖项部分
  • 对于您需要的所有其他软件包,使用与步骤3中相同标志的npm
  • 编写一个bat文件(见下面的示例),在其中
  • 利用绝对路径
  • 使用npm安装packages.json文件中列出的所有软件包
  • 呼噜声
  • 在构建前或构建后事件中,调用此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"
    

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

    安装节点等后。。。在构建服务器上,您还可以修改构建模板并添加调用grunt等的步骤。。。。这将避免您必须修改csproj文件,并允许您使用TFS创建的环境变量。

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


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

    您可以找到一个关于如何在构建服务器上使用grunt的完整示例场景:

    您看到了吗?我很想从已经熟悉TFS并想开始使用grunt但还不熟悉的人的角度了解更多信息。也没有用于此的nuget包吗?看起来你可以很容易地把很多东西放在一个nuget包中。@AllenRice在我看来,你唯一可以放在npm中的东西就是nodejs或grunt。所有其他包都是npm包。不幸的是,我还没有找到grunt的nuget包,也没有任何流行的nodejs包。你可以试试这个:这只会使步骤1过时。为什么我要在本地安装
    grunt cli
    ?@MatthiasDailey我这样做是为了避免路径问题。在本地安装
    grunt cli
    时,您可以在npm_模块下本地找到它