2014-08-28 5 views
0

지속적인 통합을 유지하면서 변경 사항 전체를 쉽게 "백 아웃"할 수 있도록 Subversion 정책을 어떻게 설정합니까?Subversion, Continuous Integration 및 Scrum


내 사업장에서는 이전에 "카우보이 코딩"프로세스가 없었던 곳으로 스크럼을 보냈습니다. 그것은 재미 (Dwarf Fortress 정의)가 많이 있지만이 질문의 초점은 아닙니다.

스크럼에서 우리는 제품 소유자가 이야기 완성에 "아니오"라고 말하거나 스프린트 중에 이야기에서 "끝내지"않을 권한을 가질 가능성이 있습니다. 아이디어는 "완료"되지 않은 것이 있으면 배포되지 않는다는 것입니다. 내부적으로 불일치가 있습니다. 일부 사람들은 사용하지 못하도록 "묶여있는"절반의 물건을 배치해야한다고 말합니다.하지만 전적으로 다른 주제입니다.

지속적인 통합을 통해 개발자는 통합/회귀 문제를 일찍 찾아내는 것이 좋습니다. 우리에게있어서, 그것은 자유로운 것이지만 대부분은 릴리스 브랜칭 패턴을 사용하여 서브 버전이 커밋한다는 것을 의미합니다.

우리가 지속적으로 어떤 지점으로 커밋을한다면, 스프린트 지점이라고 부르며, 우리가 (거의!) 스프린트가 끝나고 배포 할 수없는 이야기가있을 때 어떻게 될까요? 배포 지점에서 해당 이야기를 지원하는 변경 사항을 "병합 해제"해야합니다. 대규모의 수작업 상호 작용없이이 정책을 비교적 쉽게 수행 할 수있는 분기 정책/커밋 전략이 있습니까? 나는 그것에 대해 걱정해야 하는가?

관련 : Subversion with Continuous Integration

+4

[프로젝트 관리가 이제 스택 오버플로에 대해 주제를 벗어났습니다] (또는 meta.stackoverflow.com/questions/343829/is-stack-overflow-an-appropriate) 때문에이 질문을 주제와 관련이없는 것으로 보겠습니다. -website-to-ask-about-project-management-issues/343841 # 343841). 대신에 [SoftwareEngineering.SE] (// softwareengering.stackexchange.com/) 및 [ProjectManagement.SE] (// pm.stackexchange.com/)에 대한 질문을하십시오. (불행히도이 질문은 너무 오래되어 마이그레이션 할 수 없습니다.) – robinCTS

답변

1

내가 어떤 쉬운 해결책이 있다고 생각하지 않습니다. 변경 사항을 "병합 해제/취소"하면 어려울 수 있으므로 모든 것을 다시 테스트해야합니다. 프로덕션으로 갈 수없는 지사가있는 경우 결국 준비가 된 오래된 빌드를 배포하는 것이 더 나은 전략입니다. 그런 다음 새 분기를 준비한 후에 배포 할 수 있습니다.

+0

이것은 CI와의 사전 QA이므로 테스트가 대부분 자동으로 다시 실행됩니다. 또한 왜 한 번의 깨진 스토리에 대해 전체 스프린트의 "완료"작업을 지연시키고 싶습니까? –

+1

pre-QA 인 경우 기사당 지점을 원한다고 생각합니다. 스토리가 CI를 통과하면이를 마스터 분기에 병합합니다. 그런 다음 QA가 출시 직전에 문제를 발견 한 사례를 생각해 보면 스토리를 풀어 다시 테스트하거나 출시가 지연 될 때까지 연기해야합니다. – Dave

+1

@Dave 비슷한 라인을 생각하고 있었지만, 스토리마다 하나의 분기가 병합/통합 지옥으로 연결되어 CI의 목적을 이길 수있는 것처럼 보입니다. – ThisSuitIsBlackNot

관련 문제