Search code examples
reporting-servicessql-server-data-toolsazure-pipelines

How to automate building of SSDT Reports Project in VSTS?


I have a project which contains a number of reports built in Visual Studio using SSDT's SQL Server Reports projects. The reports need to be deployed to remote customers for them to publish to their SSRS servers, which are of varying editions of SQL Server. To accommodate this, we target our reports at the lowest common denominator (SQL 2008).

Currently, whenever we have a deployment to a customer, a developer has to open up Visual Studio, load the project, build the project, open up a Windows Explorer window, navigate to the project's output folder, and copy the *.rdl files into the correct drop folder. I'd really like to automate this process, but I'm running into a brick wall:

  • MSBuild doesn't know how to build .rptproj files, so when VSTS runs the "Build Solution" task, the report project is skipped.
  • I've been unable to find any VSTS Build Task extensions that can do this build, so I'm prepared to write my own.
  • I can manually build the project from a command line using devenv.com, but when I attempt to do this on the build agents, it complains about the lack of Visual Studio license.
  • As far as I can tell, the "building" of the RDL files is done internally by devenv (using an extension assembly, I assume), so there is no command-line tool I can call to do the building.

I can't believe we are the only people who use SSRS to design reports but aren't publishing them internally. Does anyone have any insight on how to make this happen?


Solution

  • Setup a build agent on a machine with necessary dependencies installed, then deploy files through SQL Server Reporting Services Deployment extension.

    A related thread: How to build and deploy SSRS project through VSTS?

    Note: If license is required, you need to active it manually.