Сведения о вопросе

FUTER

11:07, 1st August, 2020

Как автоматизировать повторяющиеся задачи после сборки?

Просмотров: 400   Ответов: 7

Я запускаю решение для веб-сайта ASP.NET с несколькими другими проектами в нем. Я знаю, что проекты MSBuild способны на это, но разве это лучший способ? Легко ли их создать? Является ли nAnt, CruiseControl.NET или любое другое решение лучше?

Когда я создаю сайт (используя Web Deployment проекты ), могу ли я автоматизировать часть сборки, чтобы она не копировала определенные папки из проекта в папку выпуска? Например, у меня есть папки с локальными поисковыми индексами, изображениями и другими содержательными частями папки, но они никогда не нужны и не загружаются при развертывании проекта.

Я также рассматриваю этот тип решения для автоматического увеличения номеров сборки и версий.



  Сведения об ответе

fo_I_K

04:30, 10th August, 2020

Вот пример веб-проекта Deployment, создающего скрипты для такого рода задач в файле .wdproj:

  <Target Name="AfterBuild">
    <!-- ============================ Script Compression============================ -->
    <MakeDir Directories="$(OutputPath)\compressed" />
    <Exec Command="java -jar c:\yuicompressor-2.2.5\build\yuicompressor-2.2.5.jar --charset UTF-8 styles.css -o compressed/styles.css" WorkingDirectory="$(OutputPath)" />
    <Exec Command="move /Y .\compressed\* .\" WorkingDirectory="$(OutputPath)" />
    <RemoveDir Directories="$(OutputPath)\sql" />
    <Exec Command="c:\7zip-4.4.2\7za.exe a $(ZipName).zip $(OutputPath)\*" />
  </Target>

Это позволит вам удалить папку.

(Я подозреваю , что если бы вы вообще не хотели иметь копию папки, то файл решения был бы тем местом, где это можно было бы указать, хотя мне и не приходилось это использовать.)


  Сведения об ответе

SEEYOU

13:07, 21st August, 2020

MaseBase, вы можете использовать веб-проекты Deployment для создания и упаковки веб-сайтов. Мы делаем это постоянно для проектов с аспектом веб-приложения. После назначения WDP веб-узлу можно открыть файл .wdproj как обычный текстовый файл XML. В конце находится закомментированный раздел MSBuild targets, представляющий последовательность событий, которые запускаются во время процесса сборки.

<!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
Other similar extension points exist, see Microsoft.WebDeployment.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="BeforeMerge">
</Target>
<Target Name="AfterMerge">
</Target>
<Target Name="AfterBuild">
</Target>
-->

Вы можете раскомментировать нужные целевые объекты (например, "AfterBuild") и вставить в них необходимые задачи для выполнения повторяющихся действий после сборки.


  Сведения об ответе

COOL

16:21, 15th August, 2020

Вы можете установить свойство Build Action/Copy to Output Directory для отдельных файлов (выберите Файл и нажмите F4, чтобы открыть окно свойств), чтобы управлять тем, что происходит с ними во время сборки, но не для папок. Это, вероятно, может быть автоматизировано с помощью задачи (предварительной) сборки, если вы не хотите делать это вручную.

Кроме того, вы можете исключить эти папки из проекта (щелкните правой кнопкой мыши и выберите"исключить из проекта"); они все еще будут там ("показать все файлы" в решении explorer), но они не будут включены при построении проекта.


  Сведения об ответе

screen

03:26, 6th August, 2020

CruiseControl.NET решает другую задачу (непрерывная интеграция)... однако у меня был большой успех с NAnt именно за то, что вы просите. Есть кривая обучения, но как только вы приобретете опыт, вы будете удивляться, как вы вообще с ней справлялись.


  Сведения об ответе

lesha

14:39, 3rd August, 2020

В дополнение к подсказке @Fredrik's о настройке элементов проекта на "копировать в выходной каталог", вы также можете указать действие после сборки в свойствах проекта на вкладке сборка и включить команды CMD, такие как copy.exe и move.exe.


  Сведения об ответе

park

21:05, 2nd August, 2020

Мы используем FinalBuilder для автоматизации куча постов сборки / предварительная сборка задачи. Существует также веб-интерфейс, так что вы можете начать сборку (или толкать веб-сайты), войдя на веб-сайт и нажав кнопку.

http://www.finalbuilder.com/


  Сведения об ответе

PROGA

11:43, 20th August, 2020

Разве вы не можете отредактировать файл Web Deployment проекта MSBuild, чтобы он делал то, что вы хотите?


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться