2009-08-14 2 views
0

웹 개발자를위한 버전 관리를 설정해야합니다. 이미 웹 개발자가 아닌 다른 개발자가 있기 때문에 나를 위해 선택한 소프트웨어는 Serena PVCS입니다.버전 관리 시스템 설정에 대한 아이디어

설정하는 방법을 결정하는 데 어려움을 겪고 있습니다. 그래서 우리 시스템에서 어떻게 개발되는지 설명 할 것이고, 최선을 다하는 방법에 대한 토론이 생성 될 것입니다.

우리는 개발, UAT/스테이징 및 프로덕션의 세 가지 서버를 보유하고 있습니다. 웹 개발자는 개발 서버에서 코드를 작성하고 테스트 할 수 있습니다. 일단 코드를 작성하면 코드를 UAT/Staging으로 옮기기 위해 인증 과정을 거쳐 코드를 철저히 테스트 한 후 Production으로 이동해야합니다.

개발자가 개발중인 코드에서 버전 컨트롤을 사용하여 끊임없이 변화하고 테스트하는 것이 성가심을주는 것처럼 보입니다. 일반적으로 한 번에 한 명의 개발자 만 모듈에서 작업하므로 다른 사람의 작업을 덮어 쓸 위험이 적습니다.

내 생각에 UAT/Staging에 갈 준비가되었을 때만 버전 컨트롤을 사용하도록하는 것이 좋습니다. 이를 통해 개발자는 코드를 지속적으로 확인하지 않고도 개발하고 테스트 할 수 있습니다.

인증 기관은 버전 관리를 사용하여 모듈의 변경 사항을 확인하고 개발자가 최신 개정판을 가져와 UAT/Staging을 설정하도록 할 수 있습니다 (이제 우리는 개발자는 변경된 파일을 압축하여 웹 요청 시스템을 통해 업로드합니다.

이것은 개발 측면에서 파일을 처리하지만 전체 데이터베이스 측면을 버전 제어에서 제외시킵니다. 그게 내가 생각할 필요가있는 다른 것입니다 ...

모든 생각이나 아이디어는 크게 감사하겠습니다. 감사.

답변

7

소스 제어를 성가심으로 간주하지 않습니다. 이유에 대해서는 닉스 응답을 참조하십시오. 내가 당신이라면이 일부 서버 만 변경하고 개발 절차를 개선 의 문제에 버전 관리 소프트웨어를 설정하는 문제가 아니기 때문에

, 나는 내 자신이 결정하지 않을 것입니다. 귀하의 경우에는

, 그것은 설명하고 릴리스 가지 개발자와 품질 보증에 을 논의 가치가있을 수도 있습니다. 이것은 개발자가 릴리스 에 포함 할 기능을 결정하고 준비 작업자가 소스의 "준비"분기를 테스트하는 중임을 의미합니다. 개발자는 준비 팀을 방해하지 않고 다음 릴리스에서 이미 작업 할 수 있습니다.

기능별 분기을 생각해 볼 수도 있습니다. 즉, 웹 사이트의 모든 새로운 기능에 대해 새로운 분기가 있음을 의미합니다. 기능이 구현되면 해당 분기가 병합됩니다.

그러나 다시 : 팀이 새로운 개발 프로세스에 동의했는지 확인하십시오. 그렇지 않으면 버전 제어 시스템을 설정하여 시간을 낭비하게됩니다.

프로세스 적어도 포함한다 :

  • 언제 커밋.
  • 분기/병합시기.
  • 태그/할 때.
  • 전반적인 작업 흐름.
+0

감사합니다. 나는 다른 개발 그룹과 접촉 해왔다. 그러나 우리와 같은 개발 스타일을 가진 개발자 (프로젝트 당 하나의 개발자)는 그것을 사용하는 방법 (분기/병합 시점)에 개발자에게 맡기고있다. 나는 우리가 1000 가지의 다른 일을하고 1000 가지의 다른 방법을 사용하지 않고 프로젝트가 양도 될 때 개발자를위한 일련의 표준을 개발할 필요가있다. 새로운 개발자는 단서를 가질 것이다. – Brad

1

소스 컨트롤을 사용하는 것이 별 문제가되지 않습니다. 분기 및 태그 지정의 이점은 새로운 API 및 라이브러리로 작업 할 때 매우 중요합니다.

마지막으로, 소스 코드에 코드를 커밋 한 날짜가 2 개월이었던시기에 대한 최신 정보를 잃어 버렸습니다. 때때로 이정표에 도달 할 때 물건을 백업하는 것이 좋을 때가 있습니다.

보통 나는 좋은 정지 점에 도달했는지에 따라 소스 제어를 몇 시간 동안 주저하고 다른 것과 더 큰 무언가로 이동하려고합니다.

+2

일주일에 몇 번? 와우 ... 나는 적어도 2-3 번 하루를 저질렀다. 제 생각 엔 언젠가는 약 10 번을 저지른 것 같아요. –

+2

세레나 차원을 사용하는 것은 성가심입니다. 그러나 나는 당신의 요점을 이해합니다. 그것은 아무것도 위험하지 않습니다. – Trumpi

0

마지막 두 가지 좋은 점부터 살펴보면 다른 웹 개발자가 아닌 개발자에게 사용중인 개발 과정을 물어보고 새로운 것을 만들지 않아도됩니다. 그들은 또한 자신의 환경에서 발생하는 여러 가지 문제, 즉 동일한 OS를 사용하는 기술과 설치 및 관리 문제 모두에 직면했을 것입니다.

6

나는 Serena를 사용했으며 실제로 성가심을 나타냅니다. Serena는 워크 플로우 오버 헤드의 불편 함 외에 체크 인 체크 아웃 프로세스의 맨 위에 놓았지만, 가장 단순한 작업 외에는 아무 것도하지 않는 것이 참으로 고통 스럽습니다.

Serena ChangeMan에서 로컬 시스템의 모든 코드는 중앙 서버를 통해 관리됩니다. 이것은 정말 나쁜 디자인입니다. 즉 개발자가 일상적으로 수행하는 많은 일일 유지 관리 작업은 관리자 권한이있는 사람을 거쳐야하기 때문에 그 사람은 병목 현상을 일으키고 2) 마음을 빨아 들이기 때문에 병을 앓게됩니다.

중앙 관리는 또한 개발자가 자신의 컴퓨터에서 코드로 수행 할 수있는 작업을 엄격하게 제한합니다. 예를 들어, 상자에 코드의 두 번째 사본을 로컬로 만들려는 경우 빠른 테스트를 수행하기 위해 관리자가 상자에 두 번째 리포지토리를 설정해야합니다. 이런 식으로 개발자를 제한하면 팀의 생산성과 창의력이 제한됩니다.

또한 도구가 좋지 않아 사용자 인터페이스가 끔찍합니다. 또한 너무 익숙하지 않기 때문에 이미 사용법을 익힌 개발자를 찾을 수 없습니다.

다른 팀에서 세레나를 사용해야한다고 말하면 뒤로 밀기하십시오. 그 제품은 끔찍합니다.

+0

오, 제발 좀 더 말해줘. 끔찍한 제품이지만 이제는 그걸 경영진에게 증명할 임무가있다. – gbjbaanb