MSDeploy gulp构建包

时间:2015-05-23 12:10:32

标签: gulp msdeploy

是否可以使用来自TeamCity的MSDeploy使用grunt将单页应用程序项目构建部署到IIS?该项目不是任何类型的Visual Studio解决方案,也不是使用MSBuild构建的。

我的命令参数不起作用:

  

-source:package ='%teamcity.build.checkoutDir%\ Dist。%build.number%。zip' -dest:auto,computerName =“%system.MsDeployServiceUrl%”,userName =“%system.UserName% ”,密码= “%system.Password%” 的authType = “基本”,includeAcls = “假”   -verb:sync -setParamFile:“%teamcity.build.checkoutDir%\ Dist。%build.number%.zip.SetParameters.xml”   -AllowUntrusted -setParam:“IIS Web应用程序名称”=“%system.WebSiteName%” - verbose

我得到的错误是:

  

[11:47:31] [第3/3步]错误代码:ERROR_EXCEPTION_WHILE_CREATING_OBJECT   [11:47:31] [步骤3/3]更多信息:'package'类型的对象和   路径'D:\ TeamCity \ buildAgent \ work \ e2b0015b49d87e90 \ Dist.30.zip'不能   被创造。了解更多信息:   http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_EXCEPTION_WHILE_CREATING_OBJECT。   [11:47:31] [第3/3步]错误:Zip包   'D:\ TeamCity \ buildAgent \ work \ e2b0015b49d87e90 \ Dist.30.zip'无法   加载。 [11:47:31] [步骤3/3]错误:无法找到文件   'd:\ TeamCity的\ buildAgent \工作\ e2b0015b49d87e90 \ Dist.30.zip'。   [11:47:31] [步骤3/3]错误计数:1。[11:47:31] [步骤3/3]处理   退出代码-1 [11:47:31] [步骤3/3]步骤部署(命令行)   失败

我的构建过程正在运行,因为我最终得到了正确的文物,我似乎无法使用MSDeploy部署我生成的文物

这是我的文物的截图: artefacts

2 个答案:

答案 0 :(得分:0)

我设法通过将我的参数更改为以下内容来实现此目的:

  

- 源:iisapp ='%teamcity.build.checkoutDir%\ DIST' -dest:iisapp =' C:\ WWW \ XXXX-网站',计算机名="%system.MsDeployServiceUrl%",用户名="%system.UserName%&# 34;,密码="%system.Password%",的authType ="碱性",includeAcls ="假"   -verb:sync -AllowUntrusted -verbose

将我的用户更改为管理员用户而不是IIS用户。注意使用iisapp - 关键是使用msdeploy -help读取MSDeploy api

仅供参考 - 一个好的测试是在控制台中使用针对msdeploy.exe的预期命令并检查输出错误,然后在命令工作时将命令推送到teamcity。

答案 1 :(得分:0)

我创建了一个grunt和gulp插件来完成你想做的事情。 gulp-mswebdeploy-package和grunt-mswebdeploy-package将从任何文件夹创建一个ms webdeploy包,并且不要求您的构建在Windows上运行。 https://www.npmjs.com/package/gulp-mswebdeploy-package https://www.npmjs.com/package/grunt-mswebdeploy-package