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

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

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

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

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

Ответы [ 4 ]

3 голосов
/ 22 августа 2008

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

1 голос
/ 28 августа 2008

Я не уверен, что с веб-проектом, но для нашего приложения 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.

0 голосов
/ 11 августа 2011

Задача CC.Net Powershell также может использоваться для этого

0 голосов
/ 28 августа 2008

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

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