문제

"\ server \ builddrop \"와 같은 드롭 위치로 TFS 2010에서 빌드를 정의했습니다.빌드를 대기 할 때 "\ server \ builddrop \ mybuild \ mybuild_20120309.1"과 같은 빌드를 삭제합니다.

결코 바뀌지 않는 정확한 위치에 떨어질 빌드를 정의하고 싶습니다. 빌드 정의가 항상 이와 같은 위치에서 항상 떨어지도록 변경할 수 있습니까?

1) \ server \ builddrop \ mybuild \
또는


2) \ Server \ BuildDrop \ MyBuild \ Latest \

도움이 되었습니까?

해결책

사람들이 최신 빌드를 찾을 위치를 알고 싶다면, 드롭 위치가있는 곳과 빌드 이름이 무엇인지 쉽게 결정할 수있는 것이 가장 좋습니다. 드롭 위치의 출력을 동일한 디렉토리로 복사하려면 빌드를 실행하는 기본 템플리트를 수정하여 사용자 정의 템플리트를 만들어야합니다. 빌드 중에 파일이 드롭 위치에 복사 된 후 스크립트를 실행하여 드롭 위치의 파일을 공통 "최신"디렉토리로 복사합니다. 그러나 빌드를 실행하는 동안 "최신"디렉토리에서 파일에 액세스하는 문제로 쉽게 실행할 수 있으므로 해당 파일을 덮어 쓸 수 없기 때문에 빌드가 실패 할 수 있습니다.

마지막 성공적인 빌드의 드롭 위치를 확인하려면 프로그래밍 방식으로 수행 할 수도 있습니다. 다음은 내가 그 일을하기 위해 쓴 사용자 정의 활동의 스 니펫입니다.

        string tfsUri = "http://pathToTfsServer:8080/tfs";
        string projectName = "MyTfsProject";
        string buildDefinition = "MyTfsBuildDefinitionName";

        // connect to the Project and query the builds of the BuildDefinition
        var tfs = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri(tfsUri), new UICredentialsProvider());
        tfs.EnsureAuthenticated();
        var buildServer = tfs.GetService<IBuildServer>();
        var buildDetails = buildServer.QueryBuilds(projectName, buildDefinition);

        // sort builds based on start time
        Array.Sort(buildDetails, delegate(IBuildDetail build1, IBuildDetail build2)
        {
            return build1.StartTime.CompareTo(build2.StartTime);
        });

        // return only the last successful build that currently exists
        for (int i = buildDetails.Length - 1; i >= 0; i--)
        {
            if (buildDetails[i].Status == BuildStatus.Succeeded && buildDetails[i].IsDeleted == false)
                return buildDetails[i];
        }
.

팀 빌드 2010을 사용자 정의하는 경우 eWald Hoffman의 주제에 대한 튜토리얼 .

다른 팁

빌드가 트리거되면 와 같은 지정된 드롭 위치에 폴더가 생성됩니다.

  • mybuild_20120309.1
  • mybuild_20120309.2
  • mybuild_20120310.1

    폴더 이름 지정 규칙은 "Build Definition"_"yyyymmdd"."build number"입니다 빌드 번호는 하루에 제공된 빌드 수입니다.따라서 빌드를 트리거하면 빌드 드롭 위치를 가서 최신 폴더 (이름 지정 규칙에 따라)를 방지하고 설정을 가져올 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top