2011-09-07 4 views
2

웹 프로젝트 (php)에 TFS 2010 with VS 2010을 사용합니다. 우리가 .proj 파일을 실제로 사용하지 않기 때문에 빌드를하기 위해 필자 만의 파일을 만들었습니다 (출력 파일을 압축하면됩니다). 또한 우리는 MSBuild 커뮤니티 작업을 사용합니다. 내 웹 응용 프로그램 (PHP)에 대한 나의 msbuild.proj는 다음과 같이 진행됩니다변경 집합이 포함 된 changelog.txt 용 BuildAgent 및 MSBuild

<?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.txt을 만들 것 대상 "변경점"를 작성하는 방법입니다 체크인 파일 TFS에서. 필요한 경우 DefaultTemplate.xaml 파일 및/또는 빌드 정의를 수정할 수 있습니다. BuildAgent가 NETWORK SERVICE로 시작되고 파일을 드롭 폴더/네트워크 공유에 저장합니다.

답변

1

TFS 빌드를 사용하는 경우 빌드 요약 보고서는 기본적으로 해당 빌드에 대한 관련된 변경 집합 목록을 제공합니다 (이 빌드는 마지막 성공 빌드 이후의 변경 집합 목록입니다).

처음부터 모든 변경 집합의 목록을 원한다면 몇 가지 사용자 지정 작업을 수행해야합니다. 사용자 지정 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 여기 TFS API 방법에 대한 참조가 있습니다. 아마도 변경 집합의 목록을 얻기 위해 전화하기를 원할 것입니다. http://msdn.microsoft.com/en-us/library/bb138960.aspx

1

제 생각에는이 문제를 해결하기 위해 두 가지 방법이 있습니다. 첫 번째는 .proj 파일을 사용자 정의하고 빌드 측면을 사용자 정의하는 것입니다. 두 번째 방법은 http://tfschangelog.codeplex.com 응용 프로그램과 같은 것을 사용합니다.

TFS 변경 로그를 사용하면 프로젝트, 분기 및 변경 집합 범위 정보를 제공하여 TFS에서 릴리스 정보를 자동으로 생성 할 수 있습니다. 그런 다음 각 변경 집합에 대한 정보와 해당 변경 집합 내의 관련 작업 항목을 XML 파일로 추출합니다.

사용자는 명령 프롬프트 (예약 된 작업을 사용하여 릴리스 노트 자동 생성) 또는 GUI 인터페이스를 사용하여 릴리스 노트를 생성 할 수 있습니다.

희망이 도움이됩니다.

Dharmesh Shah

관련 문제