문제

버전 관리를 원하는 PHP 프로젝트가 있습니다.현재 우리 중 3명은 모든 Eclipse IDE가 연결되어 있어 버전 제어가 불가능한 외부 폴더에 있는 프로젝트의 개발 버전을 작업하고 있습니다.

버전을 관리하는 올바른 방법과 가장 좋은 방법은 무엇입니까?

SVN이 설정되어 있지만 개발 서버에서 테스트할 수 있도록 체크인 및 체크아웃할 수 있는 좋은 방법을 찾으면 됩니다.어떤 아이디어가 있나요?

도움이 되었습니까?

해결책

우리도 비슷한 상황에 있었고, 결국 우리가 한 일은 다음과 같습니다.

  • 릴리스 및 개발 분기라는 두 개의 분기를 설정합니다.
  • 개발 브랜치의 경우 테스트할 수 있도록 저장소를 개발 서버에 배포하는 커밋 후 후크를 포함합니다.
  • 준비가 되면 변경 사항을 릴리스 분기에 병합합니다.또한 거기에 배포하기 위해 커밋 후 후크를 추가하는 것이 좋습니다.

각 팀 구성원의 워크스테이션에 개별 개발 서버를 설정할 수도 있습니다.설정 시간이 좀 더 있지만 속도가 약간 빨라지는 것으로 나타났습니다.

독점 CMS를 사용하고 라이센스 문제가 발생했기 때문에 단일 개발 서버를 사용해야 했습니다.따라서 커밋 후 후크는 간단한 FTP 봇이었습니다.

다른 팁

우리가 하는 일은 다음과 같습니다:

  • 각 개발자에는 통합 서버처럼 구성된 VM이 있습니다.
  • 통합 서버에는 트렁크, 각 사용자를 위한 공간과 지점을 위한 몇 개의 슬롯이 있습니다.
  • 프로덕션 서버
  • 커밋이 이루어질 때 전자 메일을 보내기 위해 Subversion에 후크가 있습니다.

프로젝트가 시작될 때 사용자는 분기를 만들고 개인 VM에서 이를 체크아웃할 뿐만 아니라 데이터베이스의 깨끗한 복사본을 가져옵니다.그들은 일을 하고, 가면서 헌신합니다.

개인 공간에서 모든 작업을 마친 후에는 통합 서버에 로그인하여 지점을 확인하고 테스트를 실행하는 등의 작업을 수행합니다.해당 분기를 통과하는 모든 항목이 트렁크로 병합됩니다.

트렁크가 재구축되고 전체 테스트 세트가 실행되며 모든 것이 양호하면 승인 스탬프를 받고 SVN에 태그가 지정되며 밤이 되면 프로덕션으로 승격됩니다.

어느 시점에서든 다른 사람이 커밋하면 이메일을 받고 해당 변경 사항을 개별 브랜치에 병합할 수 있습니다.

콩 줄기 개발, 준비 및 프로덕션 서버에 배포하기 위한 커밋 후 후크가 내장되어 있습니다.

PHP 개발을 위해 Subversion을 사용하는 한 가지 방법은 한 명 또는 세 명의 개발자 모두를 위한 저장소를 설정하고 이 저장소를 실제 버전 제어보다는 동기화 도구로 사용하는 것입니다.

당신은 할 수 있습니다,

  • 저장소 만들기

  • 프로젝트의 전체 PHP 문서 구조를 추가하세요.

  • 이 저장소의 복사본을 개발 서버의 올바른 위치로 체크아웃하세요.

  • 커밋 시 활성화되는 svn 후크를 사용하세요.

이 후크는 팀의 누군가가 코드를 체크인할 때마다 개발 서버의 내용을 자동으로 업데이트합니다.

후크 위치:

svn_dir/repo_name/hooks/post-commit

그리고 다음과 같이 보일 수 있습니다:

/usr/bin/svn up /path_to/webroot --사용자 이름 svn_user --password svn_pass

그러면 개발 서버의 작업 복사본이 최신 체크인으로 업데이트됩니다.

배포된 것은 어떻습니까?예를 들어 Mercurial로 시작하여 다양한 작업 흐름을 시도하고 어떤 작업이 가장 적합한지 확인할 수 있습니다.

각자 로컬에서 실행하거나 자체 개발 서버(또는 다른 포트를 사용하는 동일한 서버)에서 실행할 수 있습니다.

가능한 방법 중 하나(더 나은 방법이 있을 수 있음):

여러분 각자는 자신만의 프로젝트 체크아웃 버전을 갖고 있어야 합니다.

컴퓨터에 서버의 로컬 복사본을 두고 하루 종일 테스트해 보세요.그런 다음 하루가 끝날 때마다(또는 언제든지) 테스트할 준비가 된 모든 항목을 병합하고 개발 서버에서 체크아웃하여 테스트합니다.

빌드에 사용할 수 있는 또 다른 도구는 다음과 같습니다. 팀시티 20개의 빌드 구성에 대해 무료입니다(대부분의 소규모 회사/프로젝트에 충분합니다.) 이렇게 하면 테스트를 실행하고 빌드를 예약할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top