TFS 2010, BuildAgent и MSBuild для changelog.txt с набором изменений - PullRequest
2 голосов
/ 07 сентября 2011

Мы используем TFS 2010 с VS 2010 для наших веб-проектов (php). Поскольку мы на самом деле не используем файлы .proj, я создал свой собственный для сборки (только zip-файлы для вывода dir). Также мы используем задачи сообщества MSBuild. Мой msbuild.proj для моего веб-приложения (php) выглядит так:

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Default" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets"/>
    <Target Name="Changelog">
        <!-- need to create changelog.txt (all checkin files comments) -->
    </Target>
    <Target Name="Zip" DependsOnTargets="Changelog">
        <ItemGroup>
            <ZipFiles Include="**\*.*"/>
        </ItemGroup>
        <Zip Files="@(ZipFiles)" ZipFileName="$(OutDir)_myzip.zip" />
    </Target>
    <Target Name="Default" DependsOnTargets="Zip">
        <Message Text="My Build Complete" />
    </Target>
</Project>

Мой вопрос заключается в том, как написать целевой журнал «Changelog», который создаст файл changelog.txt со всеми комментариями разработчика для всех файлов регистрации в TFS. При необходимости я могу изменить файл DefaultTemplate.xaml и / или определение сборки. Агент BuildAgent запускается как NETWORK SERVICE и помещает файл в папку «drop» / общий сетевой ресурс.

Ответы [ 2 ]

1 голос
/ 22 мая 2012

По моему мнению, есть два пути решения этой проблемы.Сначала нужно настроить файл .proj и, таким образом, аспект Build.Второй способ будет использовать что-то вроде http://tfschangelog.codeplex.com приложения.

TFS ChangeLog позволяет пользователям автоматически генерировать заметки о выпуске из TFS, предоставляя информацию о проекте, ветви и диапазоне изменений.Затем он извлекает информацию о каждом наборе изменений и связанных с ними рабочих элементах в данном диапазоне наборов изменений в файл XML.

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

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

НаилучшееС уважением,

Дхармеш Шах.

1 голос
/ 04 октября 2011

Если вы используете TFS Build, отчет Сводка сборки по умолчанию предоставит вам список связанных наборов изменений для этой сборки (это список наборов изменений с момента последней успешной сборки).

Если вы хотите получить список всех наборов изменений с начала времени, вам придется выполнить некоторые настройки. У вас есть два варианта: создать пользовательскую задачу MSBuild или создать пользовательскую активность рабочего процесса сборки. Я бы порекомендовал последнее в этом случае, так как это новый способ работы в TFS 2010.

Любой подход на самом деле довольно прост. Чтобы создать настраиваемое действие рабочего процесса, ознакомьтесь с этой записью в блоге: http://blogs.msdn.com/b/jimlamb/archive/2009/11/18/how-to-create-a-custom-workflow-activity-for-tfs-build-2010.aspx в качестве альтернативы, если вы решите пойти по пути MSBuild, вот статья, в которой показано, как создать настраиваемую задачу: http://blogs.msdn.com/b/msbuild/archive/2006/01/21/515834.aspx вот ссылка на метод API TFS, который вы, вероятно, захотите вызвать, чтобы получить список наборов изменений: http://msdn.microsoft.com/en-us/library/bb138960.aspx

...