나는 찾을 수 없지만 이전에 물어 보았을 것입니다. 작업 공간 매핑 및 분기 위치와 관련된 다른 인수가 다른 다양한 분기에서 빌드를 설정하려고합니다. , 솔루션 파일과 같은, 무슨 일이 일어나는가 우리가 코드를 분기하는 메이저 또는 마이너 번호를 증가시킬 때, 내가 달성하고자하는 것은 코드가 분기 될 때입니다. 올바른 작업 공간, 경로와 같은 분기와 관련된 특정 인수를 사용하여 빌드 정의 파일을 생성 할 수 있습니다. 솔루션 파일 및 버전 파일.tfs 2010 빌드 정의 생성
3
A
답변
2
버전 컨트롤에서 분기 작업을 수행하고 일치시킬 빌드 정의를 만드는 데 사용하는 사용자 지정 유틸리티를 만드는 것이 좋습니다. 다음은 TFS API를 사용하여 빌드 정의를 작성하는 몇 가지 코드입니다.
또는 TFS 이벤트 서비스에서 CheckInEvent에 가입하고 세부 사항을 검사하여 분기 작업인지 확인하고 거기에서 프로그래밍 방식으로 빌드 정의를 만들 수 있습니다. 코드 아래
은 뻔뻔이 위대한 블로그 게시물에서 복사 : http://geekswithblogs.net/jakob/archive/2010/04/26/creating-a-build-definition-using-the-tfs-2010-api.aspx
string teamProject = "TeamProjectName";
string buildController = "BuildControllerName";
TfsTeamProjectCollection server = new TfsTeamProjectCollection(new Uri("http://<tfs>:<port>/tfs"));
server.EnsureAuthenticated();
IBuildServer buildServer = (IBuildServer)server.GetService(typeof(IBuildServer));
var buildDefinition = buildServer.CreateBuildDefinition(teamProject);
buildDefinition.Name = "TestBuild";
buildDefinition.Description = "description here...";
buildDefinition.ContinuousIntegrationType = ContinuousIntegrationType.Individual;
buildDefinition.Workspace.AddMapping("$/Path/project.sln", "$(SourceDir)", WorkspaceMappingType.Map);
buildDefinition.Workspace.AddMapping("$/OtherPath/", "", WorkspaceMappingType.Cloak);
buildDefinition.BuildController = buildServer.GetBuildController(buildController);
buildDefinition.DefaultDropLocation = @"\\SERVER\Drop\TestBuild";
//Get default template
var defaultTemplate = buildServer.QueryProcessTemplates(teamProject).Where(p => p.TemplateType == ProcessTemplateType.Default).First();
buildDefinition.Process = defaultTemplate;
//Set process parameters
var process = WorkflowHelpers.DeserializeProcessParameters(buildDefinition.ProcessParameters);
//Set BuildSettings properties
BuildSettings settings = new BuildSettings();
settings.ProjectsToBuild = new StringList("$/pathToProject/project.sln");
settings.PlatformConfigurations = new PlatformConfigurationList();
settings.PlatformConfigurations.Add(new PlatformConfiguration("Any CPU", "Debug"));
process.Add("BuildSettings", settings);
buildDefinition.ProcessParameters = WorkflowHelpers.SerializeProcessParameters(process);
buildDefinition.RetentionPolicyList.Clear();
buildDefinition.AddRetentionPolicy(BuildReason.Triggered, BuildStatus.Succeeded, 10, DeleteOptions.All);
buildDefinition.AddRetentionPolicy(BuildReason.Triggered, BuildStatus.Failed, 10, DeleteOptions.All);
buildDefinition.AddRetentionPolicy(BuildReason.Triggered, BuildStatus.Stopped, 1, DeleteOptions.All);
buildDefinition.AddRetentionPolicy(BuildReason.Triggered, BuildStatus.PartiallySucceeded, 10, DeleteOptions.All);
buildDefinition.Save();
관련 문제
- 1. TFS 2010 빌드 정의
- 2. 빌드 정의 파일에서 TFS 2010 클로킹 - 오류
- 3. TFS 2010 빌드 정의 - 종속성을 복사하여 대상 폴더 빌드
- 4. TFS 빌드 (VS 2010 없음)
- 5. TFS 2010 cutom 빌드 템플릿
- 6. TFS 빌드 2010 - 초기 빌드 번호 설정
- 7. TFS 빌드 확장 기능 2010 TFS 빌드 프로세스 템플릿의 Azure
- 8. 솔루션에서 하나의 프로젝트를 빌드하는 TFS 2010 빌드 정의
- 9. TFS 2010 빌드 알림 문제를 해결하는 방법
- 10. TFS 2010-
- 11. TFS 2010 SDK 7.1을 사용하여 빌드
- 12. TFS 2010 빌드 구성 변환 문제
- 13. TFS 2010 빌드 단위 테스트 종속성이 누락되었습니다.
- 14. TFS 2010 : 레이블 기반의 빌드 자동화?
- 15. TFS 2010 WCF 서비스를 사용하여 SharePoint 빌드
- 16. 사용자 지정 빌드 요약 TFS 2010
- 17. 별도의 도메인에 TFS 2010 빌드 서비스 설치
- 18. TFS 2010 빌드 문제 및 종속성 해결
- 19. TFS 2010 - 빌드 후 여러 서버에 배포
- 20. 전자 메일 알림/경고에서이 TFS 빌드 2010
- 21. TFS 2010 빌드 정의를 내보낼 수 있습니까?
- 22. TFS 2010 빌드 자동화 - 코드 커버리지 사용
- 23. TFS 2010 빌드 중 VB 6.0 DLL 빌드
- 24. 특정 빌드 품질의 테스트를 위해 TFS 2010 빌드 만 제공합니다.
- 25. TFS 2010 여러 종속성이있는 솔루션
- 26. TFS 2010
- 27. TFS 빌드 자동화
- 28. TFS 2010 빌드 사용자 지정을 쉽게 만드는 도구
- 29. 로컬 컴퓨터에서 TFS 빌드 정의 사용
- 30. TFS 2010의 빌드 정의 파일 (XAML)