CruiseControl.Net Build Publisher - публикует только скомпилированные файлы

StackOverflow https://stackoverflow.com/questions/23027

Вопрос

При настройке CruiseControl я добавил блок buildpublisher в задачи издателя:

<buildpublisher>
  <sourceDir>C:\MyBuild\</sourceDir>
  <publishDir>C:\MyBuildPublished\</publishDir>
  <alwaysPublish>false</alwaysPublish>
</buildpublisher> 

Это работает, но оно копирует все содержимое файла сборки, я хочу скопировать только библиотеки DLL и страницы .aspx, мне не нужен исходный код для публикации.

Кто-нибудь знает способ отфильтровать это, или мне нужно настроить задачу для запуска скрипта RoboCopy вместо этого?

Это было полезно?

Решение

Я поставил перед собой задачу сделать это.Я не знаю ни о каком способе сделать CruiseControl настолько конкретным.Обычно я просто связываю пакетный файл, чтобы скопировать его в задачу CC.net.

Другие советы

Я не уверен в веб-проекте, но для нашего приложения winforms вы можете получить TargetOutputs из задачи MSBuild следующим образом:

<MSBuild Projects="@(VSProjects)"
  Properties="Configuration=$(Configuration)">
  <Output TaskParameter="TargetOutputs" ItemName="BuildTargetOutputs"/>
</MSBuild>

а затем сделайте копию:

<Copy SourceFiles="@(BuildTargetOutputs)" 
  DestinationFolder="bin"
  SkipUnchangedFiles="true" />

Не уверен, что такое TargetOutputs для веб-проекта, но для winforms и библиотек классов это .dll или .exe.

Издатель сборки по умолчанию в CC.NET не предоставляет способа сделать это.У вас есть несколько вариантов:

  • Создайте свой собственный издатель сборки с желаемой функциональностью
  • Создайте пользовательскую задачу NAnt / MSBuild
  • Используйте технологию создания сценариев (RoboCopy, пакетный файл и т.д.), Чтобы создать файл сценария и запустить "Исполняемую" задачу для CC.NET или задачу "exec" для NAnt / MSBuild

Задачи cc.net PowerShell можно использовать для этого также.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top