Создание и развертывание отчетов SSRS в Team Foundation Server 2018 Express - PullRequest
0 голосов
/ 22 марта 2019

Какие задачи или пользовательские команды можно использовать для создания артефактов для проектов rptproj в процессе сборки TFS, а затем для публикации отчетов на локальном ReportServer позднее в процессе развертывания?

Длинная история.

У меня есть настройка с отдельными конвейерами сборки и развертывания в TFS 2018 Express.

В моем решении Visual Studio 2017 есть три проекта веб-приложения ASP.NET MVC и два проекта 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 нет встроенных задач.

Я обнаружил некоторые сторонние задачи SSRS в онлайн-галерее TFS, но, если я правильно понял, кажется, что все они развертываются сразу во время сборки. Мне это не нужно - я хочу сначала собрать выходные данные rptproj в артефактах, а затем развернуть их на этапе конвейера развертывания, потому что иногда я хочу запустить ручную версию для некоторой более старой сборки без фактической перестройки всего.

1 Ответ

1 голос
/ 22 марта 2019

Сначала я хочу собрать выходные данные rptproj в артефактах, а затем развернуть их на этапе конвейера развертывания

Вы только что указали точное решение проблемы:

Добавьте задачу Publish Artifacts, укажите ее в папке, содержащей выходные данные отчета, и опубликуйте отчеты как артефакт.Тогда он будет доступен в релизе.По моему опыту, вам не нужно «создавать» проекты отчетов, вы можете просто опубликовать папку, содержащую ваши отчеты из $(Build.SourcesDirectory)/Path/To/Your/Reports.

...