2012-03-28 3 views
1

git 저장소에 프로젝트가 있습니다. 프로젝트에는 현재 버전의 프로젝트가 항상 안정적인 "안정적"또는 "생산"이라는 지점이 있습니다. 필자는 안정적인 지점의 가장 최신 버전을 항상 가지고 있어야하는 프로덕션 서버를 가지고 있습니다. 특정 간격으로 잡아 당김을 할 수있는 크론 작업을 할 수 있음을 알고 있지만 그 해결책에는별로 만족스럽지 않습니다. stable 브랜치에서 버그를 발견 한 후 한 시간 만에 5 개의 핫픽스를 푸는 경우가 많습니다. 일단 프로덕션 서버가 푸시되고 나면 새로운 커밋을 즉시 끌어오고 싶습니다.새로운 커밋이 들어 왔을 때 분기에서 업데이트를 자동으로 가져 오도록 내 서버를 설정할 수 있습니까?

가장 간단한 방법은 무엇입니까? 내 폴백 솔루션은 프로덕션 서버를 매분마다 실행하도록하는 것이므로 너무 짧으면 아무 문제가 없습니다.

답변

2

프로덕션 서버로 푸시 (post-commit) 후크를 수행 할 수 있습니다.

또한 1 분마다 당기는 것이 나쁜 해결책으로 보지 않습니다.

+0

+1 포스트 커밋 훅용. OP가 "가장 단순한"것으로 지정했다고 추측했지만 설문 조사는 덜 이상적입니다. -/ – ghoti

+0

나는 대답의 첫 문장에 혼란 스럽습니다. 내 질문은 푸시와 관련이 없으며 프로덕션 서버가 풀링하는 것입니다. S – Hubro

+0

@ 코드 세미 키 로컬 repo에 후크가있어 리모컨으로 푸시 할 수 있습니다. 원격 저장소가 변경 사항을 수신하면 잠시 후에 "후 업데이트"훅을 사용할 수 있습니다. http://book.git-scm.com/5_git_hooks.html 좋은 설명과 가능한 모든 고려 사항이 있습니다. – kan

0

빌드 서버 (Bamboo, Hudson, Cruisecontrol 등)가있는 경우 원본에서 업데이트가 감지되면 다른 분기에서 끌어 오기를 트리거하도록 작업을 설정할 수도 있습니다. 우리는 네이티브 자식을 사용하여 Bamboo에서 작업을 설정했습니다.

+1

Afaik, 빌드 서버는 정기적 인 당겨서 업데이트를 감지하므로 거의 동일합니다. 그러나 접근 방식은 더 많은 기능을 가지고 있습니다. – kan

+0

AnthillPro는 최소한 폴링이 아닌 커밋 후 트리거를위한 ​​후크를 가지고 있습니다. 다른 도구들도 있습니다. 내부적으로 웹 사이트에 커밋이있을 때 새로운 "빌드"가 생성되고 자동으로 테스트 서버에 푸시되도록 (약 1 분)이 코드를 사용합니다. 그런 다음 요구에 따라 생산에이를 알릴 수 있습니다. – EricMinick