2012-02-19 2 views
4

글로벌 목록에서 사용되지 않거나 오래된 빌드를 제거하는 가장 좋은 방법은 무엇입니까?글로벌 목록에서 이력 빌드 지우기

현재 각 CI 빌드는 해당 레이블을 빌드 목록에 추가합니다. 시간이 지남에 따라 목록이 부풀어 오르고 때로는 목록에서 사용되지 않는 항목을 수동으로 제거합니다.

+0

이전 빌드를 삭제/삭제하거나 전체 목록에서 삭제 하시겠습니까? –

+0

@DuatLe 그냥 삭제하십시오. – KMoraz

답변

3

TFS 글로벌리스트 가 팽창 해져 을 위장합니다. 우리에게는 같은 문제가 있습니다.

나는 일을 제안 다음

  1. 기존 값을 빌드 목록에 대한 전역 목록에 의존 WIT 필드에 대한 허용 규칙을 을 포함하는 작업 항목 형식 정의를 변경 (예를 들어 " Bugs의 Build 필드에 있음).
  2. 정기적으로 (수동 또는 예약) 오래된 빌드를 제거하십시오. 각 빌드 정의의 보유 방침을 볼 수 있습니다. 유지되지 않는 빌드는 제거하는 것이 안전합니다 (기본적으로 정의 당 마지막 10 개). 이 작업을 자동화하고 TFS 데이터베이스를 쿼리하여 제거 할 빌드가 안전한 지 확인하는 것이 좋습니다.
  3. 또는 빌드의 놓기 위치를보고 디렉토리 결과를 파싱 할 수 있습니다 (즉, 거기에 저장된 빌드 유지). 내가 옛날 세척하는 방법을 모른다
+0

현재 빌드를 수동으로 제거하고 있습니다. 그러나 유지할 빌드를 쿼리하는 것은 고통입니다. 이 프로세스를 자동화하는 방법을 찾고 있습니다. – KMoraz

+0

우리는 테스트를 위해 매일 빌드를 사용하고, CI 빌드는 빌드를 망가뜨린 경우에만 devs에 알립니다. 그렇게하면 작업 항목을 CI 빌드에 연결할 필요가 없으므로 자동 삭제되므로 레이블을 생성하는 하루 (20-30 아닌) 빌드가 하나만 있습니다. –

1

TFS는 이러한 레이블을 전역 목록에 추가하여 작업 항목을 특정 빌드에 연결할 수 있도록합니다. 이론 상으로는 글로벌리스트에서 빌드 목록을 "정리"해서는 안됩니다. 왜냐하면이 목록 항목을 사용하는 작업 항목을 유효하지 않은 상태의 값으로 남겨두기 때문입니다.

"할당"사용자 목록과 같이 시간이 지남에 따라 부풀려지는 다른 목록이 있습니다. 그 팀 프로젝트에 대해 유효한 사용자였던 사람은 위와 같은 이유로 그 목록에 표시됩니다. 사용자를 삭제하면 해당 사용자의 작업 항목이 유효하지 않은 상태가됩니다. 유효하지 않은 작업 항목에 변경 집합을 연결하거나 다른 작업을 수행하려고하면 오류가 발생합니다.

긴 목록의 항목에는 성능 문제가 없어야합니다. 그것은 드롭 다운에서 거대한 목록에서 골치 거리를 선택하는 것을 성가 시게한다. .. 그러나 그것은 TFS 짐승의 성질의 종류 다. 모든 종류의 정보를 저장하므로 시간이 지남에 따라 메트릭을 가져올 수 있습니다.

빌드의 Tfs_Analysis 큐브 또는 트랜잭션 테이블을 확인하십시오. 실행 한 모든 빌드에 대한 데이터 행을 찾을 수 있습니다. (TFS 2008은 TFS 2010에서 빌드를 삭제할 때 트랜잭션 테이블에서 행을 삭제합니다 ... TFS 2010에서는 데이터가 유지되고 "IsDeleted"플래그가 데이터베이스에 설정되므로 데이터가 영구히 유지됩니다)

1

빌드 - 우리는 또한 사용할 수 없게 "에있는"버그 같은 필드하게 삭제 빌드의 수백을 포함하여 쓸모없는 비 대한 목록을 가지고있다.

그러나 CI 빌드의 경우 레이블을 원하지 않거나 필요로하지 않기 때문에 빌드가 많이 지연 될 수 있습니다. 각 빌드 정의는 빌드가 시작될 때 소스 컨트롤에 레이블을 지정하지 않도록 편집 할 수 있습니다. (나는 지금 당장 내 PC에서 멀리 떨어져있어 두려워하는 모든 지시 사항을 제공 할 수는 없다).

관련 문제