Вопрос

Я хочу написать простую задачу, которая обновит и зафиксирует исходный код, который был собран каждую ночь, в SVN.Я был на странице msbuildtasks.tigris.org и скачал DLL, но я понятия не имею, как это написать.Не могли бы вы, пожалуйста, предоставить несколько основных образцов?

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

Решение

Вот пример (взят из сборки сообщества MSBuild), который делает именно это:

<ItemGroup>
    <CommitFiles Include="www\index.html" />
    <CommitFiles Include="www\MSBuild.Community.Tasks.Nightly.zip" />
    <CommitFiles Include="www\MSBuild.Community.Tasks.Nightly.msi" />
 </ItemGroup>    

<SvnCommit Targets="@(CommitFiles)" Message="AutoBuild"
     Username="$(CommitUser)" Password="$(CommitPassword)">
    <Output TaskParameter="Revision" PropertyName="Revision" />
</SvnCommit>

Конечно, вам нужно импортировать задачи сообщества MSBUild, чтобы это работало:

<Import Project="MSBuild.Community.Tasks.Targets" />

В этом примере фиксируется только пара файлов, но, установив свойство Targets для задачи, можно легко получить больше.

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

Мы используем nant, и хотя существуют задачи, специфичные для svn, у вас гораздо больше контроля с помощью exec-задачи.

Если вы установите клиентский интерфейс командной строки svn на свой сервер сборки, вы сможете использовать задачу exec в MSBuild для запуска команды svn update.Вот фрагмент из нашего скрипта сборки Nant, который, я уверен, вы могли бы легко адаптировать к скрипту MSBuild.

Надеюсь, это поможет.

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