2010-03-08 3 views
2

저는 지금 막 시작한 개발 환경을 구축 중입니다. 나는 Hudson을 소스 코드의 지속적인 통합에 사용한다. SVN 저장소에 10 분마다 변경 사항을 폴링하고 DEV 서버의 LIVE 서버에 배포 할 경우 변경 사항을 폴링합니다.SVN 및 CI를 올바르게 사용하십시오.

내가 바라는 것은 DEV에서 TEST로 배포하는 다른 허드슨 직업을 갖는 것입니다. SVN 코드를 커밋 한 다음 수동으로 TEST에 배포하고 수동 QA 검사를 수행 한 다음 LIVE로 전송할 수 있기를 원합니다.

SVN에서 지점과 트렁크로이 작업을 수행 할 수있는 방법이 있습니까? DEV에서 LIVE로 곧바로 가야 할 때가 많아서 10 분마다 조사를하고 싶습니다. 아마도 지점에 커밋을 한 다음 허드슨이 배포를 자동화하여 테스트를 수행 한 다음 트렁크에 지점을 올바르게 커밋 한 것으로 생각할 수 있습니다. 내가 맞습니까? 사전에

덕분에

답변

3

@Hightechrider가 말한 것처럼 "DEV에서 LIVE로 바로 가야 할 때"가 여전히 남아있는 경우 별도의 테스트 단계를 원한다는 사실을 이해하지 못합니다. 위험한 것처럼 들립니다. 나는 이것을하는 방법은 다음과 같습니다

  • 유무 허드슨 변경을 10 분마다 감지하고
  • 수동 테스트를 수행 방금 테스트에서 테스트 SVN 버전을 배포 다른 허드슨 작업을 쓰기 테스트하려면 배포 테스트가 통과 할 경우 수동 테스트 2 단계에서 실패하면, 내가 원하는거야 있으리라 믿고있어

(자세한 내용은 the Hudson Wiki 참조), 당신의 허드슨 서버에 이메일을 보내 예를 들어, 트리거를 기반으로 살 수있는 개발자가 코드를 수정하고 1 단계와 2 단계를 반복하도록합니다. 생산에 적용되는 광석.

우리가 시나리오를 오해하고 있는지 궁금해합니다. 그렇다면 왜 TEST에 배포하고 다른 시간대에 직접 LIVE로 배포해야하는지에 대해 자세히 설명해주십시오.

+0

프로모션 플러그인을 확인할 수도 있습니다. 이를 통해 특정 빌드를 홍보 할 수 있습니다. 이렇게하면 허드슨에게 이메일을 보내는 번거 로움을 덜 수 있습니다. –

1

우리가 인 TeamCity를 사용하는 일은 구축하고 SVN LOAD_DIRS를 사용하여 TEST에 대해 별도의 BINARY SVN에 바이너리에 확인하는 것입니다. 이러한 비트를 TEST 서버에 배포하십시오. SVN LOAD_DIRS를 사용하는 다른 CI 작업을 수동으로 시작하여 두 번째로 PRODUCTION SVN 저장소로 비트를 복사 한 다음 해당 비트를 프로덕션에 배포하십시오.

이 장점은 각 서버에 배치 한 정확한 비트 사본을 가지고 쉽게 롤백하거나 특정 버전 (예 : 지난 금요일)을 체크 아웃하고 테스트 할 수 있다는 것입니다. 바이너리 버전의 구성 파일을 변경하여 누가 프로덕션 환경에 배포 할 수 있으며 누가 변경 사항을 누가 누가 언제 변경했는지 추적 할 수 있습니다.

이것은 또한 원자 속성을 갖춘 배포 시스템을 제공합니다. 즉, 서버를 새 버전으로 업데이트하려고 시도 할 때 모두 또는 아무 것도 얻지 않으며 배포의 일부 또는 실패가 발생하지 않습니다.

또 다른 장점은 변경된 개별 파일을 체크 아웃하여 프로덕션 환경의 개별 컨텐츠 파일을 외과 적으로 대체 할 수 있다는 것입니다. 금요일에 오후 4시에 편리한 기능을 제공합니다. 다른 변화가 바이너리에 몰래 들어갔다.

LIVE에 대한 직접 배포를 원한다는 시나리오가 보이지 않습니다. 위험합니다.

+0

나는 완전히 어리 석었지만 전에는 SVN LOAD_DIRS 명령에 대해 들어 보지 못했습니다. 설명 할 수 있니? 감사합니다 – christophmccann

+0

svn_load_dirs.pl은 최근까지 SVN과 함께 제공되었지만 사냥을 할 경우 계속 사용할 수있는 스크립트입니다. 그것은 코드의 기존 복사본 상단에 SVN에 디렉토리를로드하는 데 사용할 수 있으며 변경되지 않은 파일을 변경하지 않고 그대로두고 변경된 파일에 대한 업데이트를 기록하고 새 파일을 추가합니다. 이것을 사용하여 이진 트리에 바이너리를로드하면 파일 수준의 버전 기록을 보존 할 수 있습니다 (디렉토리를 삭제하고 대체 파일을 추가하는 것보다 낫습니다). 각 파일이 변경되었거나 추가 된 파일을 정확하게 볼 수 있습니다. –

관련 문제