2012-02-12 3 views
2

현재 빌드를 수행하기 위해 maven과 함께 git 및 jenkins를 사용하고 있습니다. "생산을위한 건물"이라는 측면에서 모범 사례가 무엇인지 궁금합니다. 내가 가진git jenkins 및 프로덕션 빌드 방법론

하나 개의 아이디어가 새로운 지점을 만드는 것입니다 및 구축 (의가 생산을 부르 자)이 우리 마스터에 기능을 완료 할 때마다.

또 다른 아이디어는 버전을 릴리스 한 후 (maven : release 사용) 해당 태그를 빌드하는 것입니다.

그 필드

다른 아이디어 몇 가지 실제 경험을 듣고 싶어요?

+0

'maven : release' make는 release 태그에서 릴리스되므로 여분의 것을 빌드 할 필요가 없습니다. 나중에 출시 된 버전으로 계속 작업해야하는 경우 새로운 분기로 복사하는 것이 좋습니다. '1.0-FIX2' (pom 버전'1.0-FIX2-SNAPSHOT'을 가지고있을 것입니다). 공개 후에는 절차를 반복 할 수 있습니다 ('1.0-FIX3', ...) –

답변

0

article by Martin Fowler이 도움이 될 수 있습니다.

CI의 주된 아이디어 중 하나는 코드를 기본 개발 트렁크에서 생산으로 릴리스한다는 것입니다. 실제로, 그 접근법에는 약간의 주름이있을 수 있지만, 적어도 그것이 무엇을 위해 노력해야하는지입니다.

우리는 고객마다 별도의 지점을 가지고 있지만 개발 대 생산은 아닙니다. 우리는 특정 개정 (즉, 모든 자동화 된 테스트를 통과 및 주관적 기능의 둥근 세트가 있습니다) 그 다음 또는 '저주'그것 '축복'하는 품질 관리로 이동합니다 생산을위한 준비라고 생각합니다. 그것이 QC를 통과하면 그 버전은 semi-manually 태그가 붙습니다. 이론적으로는 필요에 따라 다시 빌드 할 수 있지만 빌드의 주요 결과물은 릴리스 및 디버그 설치 관리자이므로 일반적으로 다시 빌드 할 필요가 없습니다.

+0

고마워. 나는 좀 더 기술적 인 것을 찾고 있었다. 나는 현재 그가 쓰는 모든 것을하고있다. –

+0

내 대답에 좀 더 자세하게 설명되어 있습니다. –

1

우리는 여기 http://nvie.com/posts/a-successful-git-branching-model/

핫픽스를 포함한 모든 개발 작업에 설명 된 분기 모델을 사용하고, 지점에서 이루어집니다. 그런 다음 하나 이상의 분기가 마스터로 병합되면 프로덕션 빌드 및 배포로 푸시됩니다. 대부분의 개발은 개발 브랜치의 기능 지점에서 수행됩니다. 작업이 개발에 병합되면 다른 프로젝트에서 사용되는 dev 환경에 빌드되고 배포됩니다. 즉 dev은 전체 프로덕션 환경의 개발 미러입니다. 그런 다음 작업이 QA 환경에 배포 된 릴리스 분기로 병합됩니다. QA 팀이 추가 테스트를 실시 할 예정이며, 사인을하면 마스터 링에 합류합니다.

나는 모든 기능과 개발에 대한 야간의 자동화 된 기능을 별도의 야간 지점에 설치하여이를 빌드하고 병합 문제 나 새로운 통합을 도입하지 않았 음을 확인하는 것입니다. 버그. 새로운 야간 지점이 매일 만들어 질 것입니다.

관련 문제