我目前在TFS 2013中设置了CI,它执行以下操作
我现在已经在服务器上安装了Grunt和NodeJS,以便在步骤5-6之间对Javascript进行一些操作。有没有人对如何做到这一点有任何建议?
我尝试过在bin/_PublishedWebsites目录和src目录上成功地缩小javascript的测试脚本,但这似乎并没有持续到部署服务器上。事实上,由于对_PublishedWebsites文件的最大字符限制(argh),_PublishedWebsites路由将构建文件夹置于不可删除的状态。
发布于 2014-10-27 10:39:47
通过在用于部署的pubxml文件中添加两个额外步骤,我成功地完成了这一工作。
首先,我添加了一个依赖powershell脚本,它运行NPM安装和执行任务。
<PipelineDependsOn>
CustomBeforePublish;
$(PipelineDependsOn);
</PipelineDependsOn>
<Target Name="CustomBeforePublish">
<Exec Command="powershell.exe -ExecutionPolicy Unrestricted -file Pre_Deploy_Javascript_Build.ps1 $(ProjectDir)"/>
</Target>跟着这个。我现在已经创建了项目中不存在的其他文件。我现在必须确保这些文件被公布。为了做到这一点,我又增加了一步。
<CopyAllFilesToSingleFolderForMsdeployDependsOn>
CopyMinJSFiles;
$(CopyAllFilesToSingleFolderForMsdeployDependsOn);
</CopyAllFilesToSingleFolderForMsdeployDependsOn >
<Target Name="CopyMinJSFiles">
<ItemGroup>
<_MinJSFiles Include="$(ProjectDir)\App\*.js" />
<FilesForPackagingFromProject Include="%(_MinJSFiles.Identity)">
<DestinationRelativePath>App\%(Filename)%(Extension)</DestinationRelativePath>
</FilesForPackagingFromProject>
</ItemGroup>
发布于 2014-10-26 14:55:57
您应该切换到使用Visual 2013版本管理(也适用于2012年)。这使您可以参数化您的发行版,并在多个环境中推送相同的输出。非常可配置,甚至确保您需要的工具最终部署到您要部署的服务器上。支持木偶,厨师,DSC,并创建自己的。
http://nakedalm.com/installing-release-management-server-tfs-2013/
关于概述:http://nakedalm.com/building-release-pipeline-release-management-visual-studio-2013/
https://stackoverflow.com/questions/26563123
复制相似问题