2011-03-22 2 views
2

, 우리는 다음과 같은 한 :기준선을 오염시키지 않으면 서 테스트를 가능하게하는 방식으로 내 코드를 어떻게 분기 할 수 있습니까? TFS를 사용

  • 메인베이스 라인
  • 각 개발 노력에 대한 개발 지점. 이것들은베이스 라인으로 합쳐집니다.
  • 릴리스별로 생성되는 릴리스 분기입니다. 버그 수정이 여기에서 이루어지고, 릴리스되고,베이스 라인으로 병합됩니다.
  • 선반 세트를 사용하여 필요에 따라베이스 라인을 오염시키지 않으면 서 개발 브랜치에서 코드를 공유 할 수 있습니다. 코드 리뷰에 유용합니다.
  • 개발 변경 사항을 기준선에 전달할 때 자동 빌드가 실행되어 테스트 서버에 변경 내용이 자동으로 적용됩니다.

문제는 비즈니스 분석가는 테스트 서버에 갈 때까지 변경 사항을 볼 수 없으며 현재 테스트 서버에서 변경 사항을 얻는 유일한 방법은이를 기준으로 확인하는 것입니다. 따라서 BA가 뭔가 잘못 된 것을 발견하면 불행히도 이미 기준에 도달했으며 코드를 다시 가져와야합니다.

우리의 기준선을 오염시키지 않으면 서 바라는 바를 얻기 위해 분기 전략이나 프로세스를 변경할 수있는 방법이 있습니까?

답변

4

귀하의 분기 전략은 우리 회사에서 결정한 것과 정확히 일치합니다. 문제가 분기 전략과 관련이 있다고 생각하지 않습니다. 문제는 테스트 서버에 변경 사항을 적용하기 위해 변경 사항을 확인해야한다는 것입니다.

회사에서 변경 사항은 프로덕션 환경에서 승격되고 실행될 때까지 기준선에 체크인되지 않습니다. 릴리스 지점은 테스트 서버에 배포되는 지점입니다. 버그가 발견되거나 BAS가 변경하려는 경우 변경 사항을 기준에서 제거하지 않아도됩니다.

그러나 많은 동시 릴리스가있는 경우 프로세스의 마지막 단계까지 병합하지 않기 때문에 모든 릴리스를 프로덕션으로 이동하기 전에 함께 병합하는 것이 어려울 수 있습니다. 우리 회사는 매우 엄격한 릴리스 일정을 가지고 있으며 한 번에 한 번의 릴리스만으로 제작 단계로 작업하려고합니다. 이로 인해 릴리스가 프로덕션으로 승격 될 때까지 릴리스를베이스 라인에 병합하기 위해 대기 중이므로 지금까지 추가 작업이 이루어지지 않았습니다.

얼마나 자주 릴리스를 수행합니까? 릴리스 브랜치를 테스트 서버에 배포하고 현재 프로덕션 환경에 배포 된 것을 나타내는 기준선을 갖출 수 있습니까?

(나는이 코멘트 할 것입니다,하지만 난 아직도 그 권한을 획득하고 있어요 ...)

+0

@mfredrickson이 글은 댓글 상자에 약간 길어서 어쨌든 합리적인 답변이라고 생각합니다. – Andrew

+0

우리는 SCRUM을 사용하고 각 스프린트가 끝날 때 보통 약 3-4 주 정도 걸립니다. 따라서 다음 릴리스의 릴리스 지점을 만든 다음 그 지점의 개발 지점을 만든 다음 개발 지점을 다시 병합하여 릴리스 이후 릴리스를 기준선에 병합하고 병합합니다. – adam0101

+0

아, 아직 댓글을 달 수없는 경우 답변을 수정하고 소식을 하단에 추가하십시오. – adam0101

1

나는이 방법을 선호하지 않을, 내가 제안 :

주된 기준이되는 안정화 된 코드를 포함합니다. 코드는 성공적인 릴리스 이후에만 해당 릴리스 분기에서이 분기로 병합됩니다.

A 릴리스별로 메인에서 생성되는 릴리스 분기. 이 분기는 릴리스 빌드를 생성하는 데 사용되며 테스트 환경에 배포됩니다.

릴리스 지점에서 생성 된 개발 지점은 개발 작업에 사용되며 테스트를 위해 준비 할 때 릴리스로 병합됩니다.

+0

변경 사항이 테스트를 통과하지 못하면, 변경된 변경 사항이 릴리스 분기의 다른 변경 사항과 섞여 있다는 것을 어떻게 처리합니까? 어떻게 든 변경 사항을 롤백합니까? – adam0101

+0

변경 사항이 테스트를 통과하지 못하면 수정이 필요한 경우 개발 분기에서 수정하고 릴리스에 병합하십시오. 우리가 그러한 변화를 요구하지 않는다면 레이블이나 tf 롤백 명령을 사용하여 롤백 할 것입니다. – Jehan33

+0

다른 개발자가 파일을 변경 한 후 변경 사항을 롤백해야하는 경우 파일을 "병합 해제"하여 변경 사항을 가져 오지 않아도 다른 개발자의 변경 사항을 다시 "다시 작성"할 필요가 없습니까? 어떻게 처리할까요? – adam0101

관련 문제