우리 팀도 비슷한 문제에 직면했습니다. 우리는 git을 사용하여 플러그인 및 작성하는 테마와 같은 자체 사용자 정의 코드를 버전 화합니다. 작성하지 않은 플러그인과 같은 종속성을 관리하기 위해 Composer 를 사용 합니다. 우리는 composer.json 및 composer.lock 파일을 git로 검사하여 모든 사람을 동기화시킵니다. 각 개발자는 git master 브랜치를 잡아 당겨 composer update
플레이 펜을 자주 실행 해야하므로 모든 사람이 최신 상태를 유지할 수 있습니다.
데이터베이스에서 개발자는 주로 구성을 중요하게 생각하며 종종 WP-CLI 를 사용 하여 구성을 동기화 상태로 유지합니다. 예를 들어, WP-CLI 명령을 실행하여 호스트별로 플러그인을 활성화 또는 비활성화하는 쉘 스크립트가 있습니다. 예를 들어 일부 플러그인은 콘텐츠 준비 호스트에서만 사용되므로 스크립트는 모든 호스트에서 실행될 수 있으며 해당 호스트에서 적절한 세트 만 활성화합니다. 스크립트에 너무 많은 시간이 소요되는 일부 구성은 문서화되고 필요한 경우 수동으로 재현됩니다.
또한 컨텐츠 스테이징 서버에서 QA 또는 개발자 호스트로 데이터베이스를 완전히 복제하는 perl 스크립트가 있습니다. 개발자는 현재 모든 컨텐츠를 원할 경우이를 정기적으로 사용할 수 있지만 일반적으로 코드와 구성을 갖는 것보다 덜 중요합니다. 스크립트는 다음 작업을 수행합니다.
- 컨텐츠 스테이징 서버 데이터베이스의 mySQL 덤프, 테이블 이름 변경, 대상 서버 데이터베이스에로드
- wp-cli를 사용하여 대상 서버를 참조하도록 데이터베이스 내의 스테이징 서버에 대한 참조를 변경하십시오.
- 대상 서버의 업로드 디렉토리를 컨텐츠 스테이징 서버의 업로드와 동기화
실제로 데이터베이스를 버전 관리하는 유망한 솔루션이 있습니다. VersionPress 와 Mergebot 은 내가 아는 두 가지이며 다른 것이있을 수 있습니다.
블로그에서 git 및 Composer와 함께 작동하도록 WordPress를 설정하는 방법에 대한 자세한 기술 정보를 작성했습니다 . git에서 유지하려는 코드와 WordPress 코어를 명확하게 분리하려면 자체 디렉토리에서 WordPress 코어로 실행해야했습니다. 우리는 WordPress 자체를 종속성으로 취급하고 Composer로 관리합니다.