Пошаговое руководство по использованию NAnt. Предлагаю обратиться к фундаментальной концепции NAnt Проектная документация . Когда вы ознакомитесь с его основным использованием, я предлагаю изучить проект nant-contrib , чтобы получить больше задач по сборке.
Одна часть вашего вопроса, на которую я хотел бы ответить непосредственно, это вопрос о том, требуется ли отдельная машина для использования NAnt. NAnt строго не требует отдельной машины, однако отдельная машина может быть полезна, если ваш процесс сборки автоматизирован или особенно интенсивен
[Обновить]
В ответ на комментарий от OP:
NAnt рассматривает процесс сборки как серию отдельных задач, которые должны быть выполнены как часть цели. Обычный процесс для создания приложения - это вызов компилятора из исходных файлов для создания двоичного файла. У NAnt есть ряд задач, которые вызывают языковые компиляторы
В этом примере я вызову компилятор языка C # (csc.exe), используя задачу в файле сборки NAnt для приложения Hello World, которое состоит из одного исходного файла с именем hello.cs.
<?xml version="1.0"?>
<project name="Hello World" default="build" basedir=".">
<property name="debug" value="true" overwrite="false" />
</target>
<target name="build" description="compiles the source code">
<csc target="exe" output="HelloWorld.exe" debug="${debug}">
<sources>
<includes name="HelloWorld.cs" />
</sources>
</csc>
</target>
</project>
Давайте рассмотрим этот XML:
<project name="Hello World" default="build" basedir=".">
Что следует отметить:
Значением свойства по умолчанию является "build". Это означает, что цель с именем «build» будет вызываться, если не указана другая цель.
Это цель сборки, поскольку в описании говорится, что она скомпилирует исходный код. Для этого используется задача csc. Задача csc имеет несколько параметров, включая
target: указывает тип двоичного файла, который будет генерировать цель. В этом случае будет создан исполняемый файл
output: указывает имя исполняемого файла, который будет создан
debug: значение этого свойства использовало условное свойство debug (определенное выше как false), которое будет определять, создает ли компилятор исполняемый файл, содержащий отладочную информацию
источников и включают в себя:
указывает исходные файлы, которые компилятор будет анализировать для создания исполняемого файла
Как видите, действия, необходимые для создания исходного кода, определены в целевом объекте. Файл сборки может определять множество целей, каждая из которых вызывает много задач. Чтобы создать MSI-файл, вы должны запустить задачу, которая создает MSI-файл, к сожалению, поскольку я на самом деле не использую NAnt регулярно, вам придется провести некоторое исследование, чтобы найти его, хотя у меня есть ощущение, что проект nant-contrib включает насколько распространено создание MSI.
Надеюсь, это объяснение прояснило для вас
Информация в этом обновлении была взята из этого документа в документации NAnt