2010-06-11 7 views
4

공유 서버 (hostgator)에서 팀 웹 개발을 관리하는 가장 좋은 방법을 알아야합니다.공유 웹 사이트에서 팀 개발 관리

나는 과거에 공유 서버에서 몇 가지 개별 웹 개발을 해왔으며, SSH를 통해 SVN을 설정하여 꽤 좋은 개발 워크 플로우 (버전 관리, 빠른 커밋, 일식/서브 스크립션 등)를 수행했습니다.). 그러나, 나는 그 설정으로, 저장소를/public_html로 내보내는 꽤 정교한 post-commit 후크를 만들어야한다는 것을 알고있다. 따라서 저장소 코드를 테스트 할 수있게 만들 수 있습니다.

전체 팀에게는 지루하고 오류가 발생하는 것처럼 보입니다. 다음과 같이 할 수 있습니다 :

  1. 쉽게 저장소의 최신 코드를 테스트하십시오.
  2. 다소 쉽게 저장소의 코드를 프로덕션으로 옮길 수 있습니다.
  3. eclipse/subclipse와 같은 IDE를 사용하면 저장소로 쉽게 작업 할 수 있습니다.

약 4-5 명이 팀으로 구성된 웹 사이트를 개발하기위한 좋은 버전 제어/저장소 설정을 알고 있습니까?

고마워요.

편집 : 나는 SVN이 붙어 있다고 확신한다. 개인적인 취향이 아니라 내 웹 호스트의 한도. 그러나 배포 문제만큼이나 저장소 문제 (SVN으로 관리 할 수 ​​있음)가 아닙니다. 저장소 코드를 테스트 및 프로덕션에 배포하는 가장 좋은 방법은 무엇이며 어떻게해야합니까? 내 공유 호스팅 서버에 허드슨과 같은 빌드 서버의 고급 스러움이 없습니다. 예, post-commit 후크를 작성할 수는 있지만 오류가 발생하기 쉬운 것으로 보이며 이미 매우 환상적입니다. 이것이 내가 얻을 수있는 최선이라면, 내가 관리해야 할 것입니다. 누군가 다른 옵션을 선택했는지 궁금합니다.

답변

5

는 일부 SVN 클라이언트 throught를하다이 바로

가장 좋은 방법은 coleagues의 수와 프로젝트에 대한 작업을 얻을 수 있습니다. 새 프로젝트가 트렁크 당신의 최신 안정적인 생산 코드를 represend이

your_project 
    trunk 
    branches 
    tags 

같은 프로젝트 저장소를 설정하는 것입니다 시작한 후 난 당신이해야 tortoisesvn

먼저와 최고의 경험을 가지고있다. dir 분기는 프로젝트에서 작업하는 개발자를위한 것입니다.모든 개발자가 자신의 BRANCHE을해야 물론도 그렇게 물론 행동이 같아야합니다

branches 
    r01 
    developer1 
    developer2 
    developer3 

같은 릴리스에 대한 디렉토리가 있어야한다 : 매달의 시작에

  • (의존 프로젝트)의 활동 트렁크에서 BRANCHE로 만들어 새로운 릴리스()
  • 새 작업 밖으로 처리하고 모든 개발자가 자신의 새로운 지점을 만들을 설립
  • 개발자 자신의 BRANCHE을 마무리 할 때 그는 새 릴리스
  • 로 다시 병합 16,
  • 모든 개발자 후 그는 새로운 테스트를 감지 한 후 hudson whitch 같은 도구를 제공 관리자가 예를 들어 '태그/테스트 r01.01'

여기에 대한라는 태그를 생성, 자신의 BRANCHE을 닫고 새 버전이 성공적으로 완료 태그를 사용하여 새 테스트를 자동으로 배포합니다. 언제 어디서 어떻게 구성

에 당연히 따라와 시간 (모든 테스터는 그/그녀의 일을) 관리자가 트렁크에 최신 버전 (우리의 안정적인 코드)를 병합 afterwhitch 새 태그 예를 들어 태그/R01을 만들 권리 마지막 때 트렁크와 허드슨에서 나머지 작업 (웹의 새 버전을 자동 배포)

나는 여기 표면을 scratche했지만, 거북이 svn과 허드슨 설명서 모두 에서이 특정 문제를 중심으로 많은 브레인 스토밍이 있습니다. 이 도움이 되었으면 좋겠다.

0

당신은 같은 것을 사용할 수 있습니다 : 당신이의 repo에서 배포 한 클릭 수 있습니다 당신에게 스크럼 도구와 티켓 등 같은 것들을 제공

http://www.assembla.com?affiliate=joedeveloper

(용서 제휴 창녀)

기타 낮은 기술 솔루션은 단순히 준비 서버 public_html/git 저장소를 만드는 것입니다.

프로덕션 서버에서 셸 액세스를 사용하면 원하는 지점에서 안정된 분기를 가져올 수 있습니다.

0

SVN을 사용한 예제는 매우 간단하다. 포스트 후크 커밋 코멘트로 얻는 것은 지속적인 통합이나 야간 빌드 프로세스와 같은 것입니다. 당신을 위해 그것을 할 수있는 많은 도구가 있습니다.

좋은 토론이 여기에 있습니다 : Setting up Continuous Integration with SVN

일반적으로 팀에 가장 적합한 소스 제어 시스템에 관해서는, 그것은 자식이나 의욕 중 하나를 선호하는 게임의 신선한에 오는 대부분의 사람들처럼 보인다 (모두 고려된다 분산 버전 제어 시스템). SVN에 대한 가장 큰 비판은 분기/병합 기능의 어려움입니다. 대부분의 사람들은 쉽게 분기하고 병합 할 수 있기 때문에 각 개발자가 자신의 로컬 시스템에 자신의 저장소를 가지고 특정 저장소로 중앙 저장소를 병합 할 수 있기 때문에 git/mercurial을 홍보합니다. 즉, 절반의 작업 코드로 빌드를 중단 할 필요는 없지만 로컬 시스템의 분기에 대해 실제로 복잡한 변경을 수행하는 동안 소스 제어의 이점을 얻지 않고 몇 주가 걸릴 필요가 없습니다.

1

나는 나의 웹 개발을 위해 https://bespin.mozillalabs.com/의 가능성을 모색 중이다. 꽤 유망 해 보인다. 편집기 및 버전 제어 시스템. 완전 온라인. 한 번 시도해보고 마음에 드는지보십시오.

+0

내 코드는 어떻게 bespin에서 공유 서버로 이동합니까? 아니면 완전히 다른 것입니까? –

+0

공유 서버에 버전 제어를 설치해야합니다.또한 mozillalabs를 사용하는 대신 서버에 bespin을 설치할 수 있습니다. – iamgopal

2

나는 당신이 특히 전복을 언급한다는 것을 알고 있지만, 전복에 매달리고 있습니까? 나는 복수 사용자 개발 환경에서 git을 사용하는 것이 훨씬 낫다는 것을 발견했다. 병합 추적 기능 만이 생명의 은인입니다. 또한 각 개인이 로컬에서 전체 기록을 보유하고 있기 때문에보다 빠른 기록보기와 오프라인 개발이 가능합니다. 당신은 전복에서 가진 몇 가지 능력을 잃습니다. 가장 큰 손실은 하위 트리 체크 아웃 및 하위 트리에 대한 ACL 수행 기능입니다. IMHO, 그들은 포기할만한 가치가 있습니다. 작은 스크립트 몇 개와 git을 사용하여 반자동 배치를 할 수 있습니다.

+0

그리고 계층화 된 푸시 (개발자 => 자동화 된 테스트 => Q & A => 제작 또는 무언가). – strager