2010-05-01 6 views
3

마지막 드루팔 프로젝트에서 우리는 5 명의 사람들이 코딩을하고 새로운 모듈을 설치했습니다. 우리 클라이언트가 컨텐츠를 올려 놓은 것과 동일한 유형입니다. 단순화를 위해 하나의 서버 만 사용하기 때문에 style.css 또는 page.tpl.php와 같은 동일한 파일에 많은 사람들이 쓸 필요가 있거나 누군가가 코드를 깨뜨린 경우 다른 사람들이 작동하지 못하게 할 때가있었습니다.팀을위한 드루팔 개발 워크 플로우

드루팔 (Drupal과 협력하는 팀을위한 모범 사례? 코드 저장소 또는 샌드 박스를 어떻게 활용할 수 있습니까?

답변

2

단일 서버는 "단순함"을 제공하는 것처럼 보일 수 있지만, 경험 한대로 당신에게주는 것은 완전히 혼란입니다. 불쾌하고 힘든 결과를 초래하지 않으면 운이 좋았습니다. 재현하기 힘들고 수정하기가 쉽지 않습니다. "프로덕션"서버 (고객이 작업 할 수있는 곳 - 컨텐트 만 - 사소한 위험이있는 경우 ----) 및 "준비 중"서버 (여기서는 개발 팀의 모든 것이있는 곳)로 처리하지 마십시오. 조용하고 이상적으로 사전에 정해진 시간에 개발이 진행되기 전에 테스트를 받고 잠시 동안 시험을 봐야합니다.)

두 번째 버전 제어 시스템은 일부 종류입니다. 같은 hggit 등 마이크로 소프트와 다른 분야의 상용 제품을 가지고,

svn 인기 간단, (좋은 이유) 최신 패션 배포되는 것들 : 어떤 사람은 적은 전혀 하나를 사용하는 것보다이 중요 요점은 누군가가 파일을 업데이트 할 때마다 VCS의 자체 클라이언트에서 그렇게하는 것입니다. 일관된 변경 사항 집합이 맞으면 VCS로 푸시되고 VCS는 진단을 내리고 두 개발자가 모순 된 변경을했을 수있는 "충돌"을 지적하여 현재 푸시하는 개발자가 파일을 수정하고 그들의 푸시가 통과하기 전에 갈등을 고칠 수 있습니다. 그래야만 "현 버전"이 더 철저한 (그리고 이상적으로 자동화 된! -) 테스트 (또는 더 나은 "지속적인 빌드"시스템)를위한 준비 시스템으로 넘어갈 수 있습니다.

기본적으로 관찰 된 것처럼 이러한 충돌에 대해 두 가지 방어 계층이 있어야하며 사용자는이 두 가지를 배포하지 않은 것처럼 보입니다. 그것들은 모두 필수적입니다. 그러나 강압하에 강제로 강압 당하면 강요 당하면서 나는 생산과 준비 서버 사이의 차이점을 마지 못해 선택합니다. 개발은 여전히 ​​혼란 스러울 것입니다. (VCS의 단순한 견고성과는 비교할 수 없을만큼 참을성이 있습니다!) 적어도 실제로는 직접적으로 시스템에 상처를주지는 않습니다 ;-).

+0

Drupal 프로젝트의 아키텍트로서 좋은 답변입니다. 저는 Git과 함께해야한다고 덧붙이고 싶습니다. 우리는 Subversion을 사용하고 있으며 몇 번이나 엉덩이를 걷어차 왔습니다. Drupal.org 자체가 git 사용으로 옮겨 가고 있으므로 개발자에게도 좋은 단계입니다. – coderintherye

+0

예, 좋은 대답입니다. 이것은 제가 Drupal 사이트에서 어떻게 협력 해 왔는지에 대한 것입니다. 우리는 현재 Subversion을 사용하며 잘 작동합니다. 과거에는 스테이징 서버를 사용하지 않았습니다. 대신 프로덕션 서버 (동일한 모듈, 동일한 데이터베이스)와 밀접하게 일치하는 Drupal 설치를 사용하여 자체 시스템에서 개발할 수 있습니다. 때때로 우리는 프로덕션 서버에서 SQL 덤프를 가져 와서 우리 자신의 설치와 동기화 된 내용을 유지합니다. –

+1

여기서는 각 개발자가 자신의 서버를 소유하는 것이 유용하다는 것을 알았습니다. XAMPP 및 MAMP를 사용하는 것이 쉽습니다. 그렇게하면 개발자는 다른 사람에게 문제를 일으키지 않고 드루팔 (일시적)을 깨는 일을 할 수 있습니다. 코드가 안정적으로 보이면 SubVersion으로 검사되고 준비 서버 (프로덕션과 유사 함)에서 테스트됩니다. 추가 단계와 복잡성의 추가 레이어처럼 들리지만 실제로 잘 작동하는 것으로 나타납니다. – Graham