VSTS发布Artifact为空,MVC Web应用程序在本地部署

时间:2018-05-22 15:27:26

标签: azure-devops

尝试使用托管构建代理和本地发布代理 Project是一个ASP.Net MVC Web应用程序,在其他项目的解决方案中。 构建完成成功,但工件文件夹中没有任何内容,因此版本不执行任何操作。

[更新5/22/2018] 我需要做的是发布到与托管代理相关的某个位置,然后在我的本地发布代理中,能够使用copy_files任务将这些文件简单地复制到unc路径。

[更新5/23/2018]
在构建任务上使用这些msbuild参数,我能够获得包含已发布文件的压缩文件夹。现在唯一的问题是文件是一个深层嵌套的结构。所以我要么只是需要在发布任务上解压缩它们,要么阻止它们被压缩。

/t:My_MVCWeb_Project_Name /p:DeployOnBuild=true /p:WebPublishMethod=FileSystem /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\\"

构建日志 enter image description here

构建任务(托管VS 2017代理)。 / t参数后跟project_name。 enter image description here

发布构建定义的任务 enter image description here

发布定义,只有一个copyfiles任务(这在本地运行) enter image description here

1 个答案:

答案 0 :(得分:1)

您需要在MSBuild Arguments步骤中使用默认Build,因为您使用ASP.NET build template

/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\\"

或者您需要在Publish Build Artifacts 之前添加Copy Files任务,以复制路径$(build.artifactstagingdirectory)所需的文件:

enter image description here