什么样的任务或自定义命令可用于在TFS构建过程中为rptproj项目生成构件,然后在部署过程中稍后将报告发布到本地ReportServer?
长话短说。
我在TFS 2018 Express中使用单独的构建和部署管道进行了设置。
我的Visual Studio 2017解决方案包含三个ASP.NET MVC Web应用程序项目和两个SSRS项目(rptproj)。
当前,我正在使用以下MSBuild参数触发构建:
/p:DeployOnBuild=true /p:WebPublishMethod=Package
/p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true
/p:PackageLocation="$(build.artifactstagingdirectory)\\"
/p:AutoParameterizationWebConfigConnectionStrings=false
,我还指定了工件的输出文件夹。
构建后,工件文件夹包含网站的三个zip文件和一些部署帮助程序脚本。但是,我的rptproj项目没有任何输出(而且我不确定这些输出应该是什么)。从构建日志来看,报表项目的构建没有任何问题,只是它们不生成任何工件输出。
我已经配置了部署管道以获取zip并部署到本地IIS服务器。它工作正常,也可以应用web.config转换。
我使用TFS 2018内置任务完成了所有工作,一切似乎都非常简单。但是,SSRS没有内置任务。
我在TFS在线画廊中找到了一些第三方SSRS任务,但是,如果我理解正确,它们似乎都在构建期间立即部署。我不需要-我想先在工件中收集rptproj输出,然后在部署管道步骤中对其进行部署,因为有时我想触发一些较旧版本的手动发布,而无需实际重建所有内容。
答案 0 :(得分:1)
我想首先在工件中收集rptproj输出,然后在部署管道步骤中对其进行部署
您刚刚说出了该问题的确切解决方案:
添加一个Publish Artifacts
任务,将其指向包含报告输出的文件夹,然后将报告作为工件发布。然后它将在发行版中可用。以我的经验,您无需“构建”报告项目,只需发布包含来自$(Build.SourcesDirectory)/Path/To/Your/Reports
的报告的文件夹。