문제

현재 사용중인 배포 프로세스에 대해 생각하고 있으며, 생산에 출시 될 코드를 분기/태그를 처리하는 좋은 방법이 있는지 궁금합니다.

어느 시점에서 나는 릴리스 브랜치로 분기를 만들고 마지막 순간을 분기를 변경하고 해제하고 싶습니다. 그런 다음 출시 후 태그로 저장하고 싶습니다.

명확히하기 위해, 나는 이름 지정, 지점 처리 및 태깅을 처리하기위한 규칙을 찾고 있습니다. 또한 상황을 처리하는 방법에 대한 대안이 있는지 궁금합니다.

  • 릴리스 브랜치의 이름을 지정하거나 매번 새 코드로 동일한 릴리스 브랜치를 사용하십니까?
  • 릴리스 브랜치 삭제 일단 태그로 존재하면?
  • 지점/태그의 이름을 어떻게 지정합니까?
도움이 되었습니까?

해결책

이 답변을 읽는 것이 좋습니다

SVN의 릴리스 관리

기본적으로 원하는 경우 태그를 붙일 수있는 릴리스라는 하나의 지점이 있습니다. 출혈 엣지 코드 버전을 트렁크로 유지하십시오

릴리스 명명에 관한 한 : 그것은 당신에게 가장 적합한 것이 무엇인지, 릴리스 번호를 보는 사람들에 달려 있습니다.

Majorrelease.minorrelease를 사용하여 기술적으로 관심이있는 곳 어딘가에 패치 릴리스 번호를 지정할 수도 있습니다 (E.GG App AutoupDates 및 Major.Minor는 동일하게 유지).

전공 : 큰 변화 -> 새로운 기능/브레이크 호환성 부전공 : 인터페이스 호환 (예 : 성능) 패치 : 버그 수정

다른 팁

TFS를 사용하지 않더라도 여기에서 정보를 지침으로 사용할 수 있습니다.

분기 지침

일하는 방법에는 여러 가지가 있습니다. 내가 사용하는 것은 다음과 같습니다.

project_repository
|
|- 트렁크 //Where the current in support release is.
|
|- 가지 //Where new features/big fixes or refactors are made.
|
|- 태그 //Where all releases are tagged.
     |
     |- 릴리스 //where all release tags are located
     |- 일일 //where all daily tags are located.

우리가 사용하는 이름은 다음과 같습니다.

  • 분기의 경우 우리는 분기의 이름을 지정할 주요 작업 (예 : admin_module_refactor)으로 지정합니다.
  • 태그의 경우 릴리스 태그에 해당 할 때 버전 번호 (mayor.minor.micro. 예 : 1.0.2)로 태그를 지정합니다. 또는 일일 작업 태그 날짜 (예 : yy_mm_dd).

이 구조와 이름 지정 규칙을 따르기 위해서는이 방법으로 작동하는 데 도움이되는 일련의 도구와 스크립트가 있습니다. 또한 매일 밤 내내 빌드 서버에 의해 생성됩니다.

cruisecontrol.net을 사용하여 빌드 프로세스를 자동화했습니다. 빌드는 빌드 번호에 해당하므로 DLL 버전은 6.5.4.1234입니다. 6과 5는 우리가 전공 및 사소한 릴리스가있을 때 항상 수동으로 업데이트됩니다. 4는 빌드 후 수동으로 업데이트되었습니다 (1234는 0으로 재설정되었습니다). 빌드 프로세스는 항상 1234에서 1235를 업데이트했습니다.

우리가 트렁크에서 풀려날 때 (버전은 항상 6.0.0.x 일 것입니다), 우리는 수동으로 분기되어 그것을 branch_6_0이라고 부릅니다. 그런 다음 지점은 6.0.1로 구축됩니다. 트렁크는 6.1 또는 7.0으로 이동합니다.

Cruisecontrol에는 두 가지 모드 (Dev and Test)가있었습니다. 테스트는 항상 주문형으로 생성되었으며 빌드 버전에 해당하는 분기를 생성합니다.

어느 시점에서 나는 릴리스 브랜치로 지점을 만들고 마지막 순간을 지점을 변경하고 해제하고 싶습니다.

이것은 나를 걱정하는 비트입니다. 일반적으로, 당신은 분기를 만들고, 그것에 대한 모든 개발을 수행하고, 그 분기를 트렁크로 통합하려고합니다. 트렁크 에서이 시점에서 태그를 만듭니다. 더 많은 변경을 원한다면 새 지점을 만들고 편집, 재 통합 및 재개를 만드십시오.

릴리스 브랜치를 잃어 버릴 수 있거나 트렁크로 다시 합병하는 데 어려움을 겪으려고 노력하지 마십시오.

분기 릴리스에 대한 대안적인 접근 방식은 모든 개발을 트렁크로 변경하고 준비되면 릴리스/태그 브랜치를 작성하는 것입니다. 작은 개발 상점의 경우, 이것은 일반적으로 가장 쉬운 방법입니다. (다른 접근법은 다른 모든 사람들이 다른 사람들이 변화하고있는 제품을 크게 변경할 때 잘 작동합니다).

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