rsdeploy.exe command line tool to deploy SQL Server Reporting Services assets
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
build
src/CYC.RsDeploy.Console
test/CYC.RsDeploy.Console.Tests
.gitattributes
.gitignore
licence.txt
readme.md
rs-deploy.sln

readme.md

RS Deploy

Build status

rsdeploy.exe is a command line tool to deploy SQL Server Reporting Services assets. It uses the Report Server Web Service to upload data sources and reports. When used with a deployment tool such as Octopus Deploy you can deploy data sources with the correct connection strings for the environment you are deploying to, deploy reports, and ensure your reports use those data sources.

Why?

SQL Server Reporting Services doesn't have a automated tool in the box for deploying reports alongside other application components such as web sites and Windows services. In Visual Studio there is the option to deploy reports:

image

And Microsoft's rs.exe tool allows a Visual Basic .NET script to be run against a report sever. Neither of these approaches fits with our requirement to deploy SSRS reports as artifacts produced from a continuous integration build.

How?

You'll need to pack your SSRS reports for deployment. We use Octopus Deploy to produce a NuGet package containing the following

  • Our reports.
  • A datasources.config file.
  • The rsdeploy.exe executable.

At deployment time, Octopus sets the connection strings in datasources.config to match the environment we are deploying to. It then invokes the following commands to deploy our data sources and reports:

rsdeploy.exe create-datasources -f datasources.config -d {Target SSRS Folder} -s {Report Server}

rsdeploy.exe upload-folder -f {Source Folder} -d {Target SSRS Folder} -s {Report Server}

The create-datasources verb creates the data sources listed in the datasources.config file in the specified destination folder on the report server.

The upload-folder verb uploads reports from the specified source folder to the destination folder on the report server. It also ensures that any data sources in the uploaded reports are updated to use data sources created using the create-datasources verb.

For detailed usage instructions, please see the wiki.

Installing

Please install the NuGet package:

PM> Install-Package RSDeploy -Pre

Contributing

We welcome contributions from the community. Please open a pull request or issue early to let us know you are working on a feature. If you would like to add a new feature, please open an issue so we can discuss it before submitting a pull request. All contributions must be accompanied by unit tests.