완전한 기능 답변을 작성할 시간이 없지만 (나는 일종의 절름발이를 알고 있습니다) 어쨌든 공유 할 가치가 있습니다 (이 글에 블로그 게시물을 계획하기 때문에 이것을 편집 할 수도 있습니다)
즉, 트렁크 / 버전 지점 기반 WP 설정을 사용하여 완전히 해킹 할 수 있습니다. 테마 및 플러그인.
이것은 하나의 독립적 (로컬) 저장소이므로 ssh를 통해 다른 저장소로 푸시 할 수 있습니다 (예 : 하나).
- 이는 사이트를 배포해야하는 원격 호스트 (맨손 리포지토리)에 있습니다.
- 그것은 그 호스트의 다른 저장소를 실제로 푸시 한 변경 사항에 병합시키는 고리가 있습니다.
이것은 웹 중심의 Git 워크 플로 (2008 년 11 월; Joe Maller)에 요약되어 있습니다.
그런 다음 wp-config.php
실행중인 시스템을 기반으로 콘크리트를 선택하는 구성 스위처가있는 경우 리포지토리 내의 모든 호스트 (개발, 라이브, 스테이징, 친구 등)를 중앙에서 구성 할 수도 있습니다.
WP의 업스트림 변경 사항은 하위 트리에서 가져오고 병합하기 만하면됩니다.
방금 업데이트하고 커밋하는 플러그인.
배포는 간단 $ git push remote
합니다.
git repos, 데이터베이스 및 업로드 된 파일에 대해 원격 호스트에서 매일 백업을 실행하면 저렴하고 개발자 친화적이며 유연합니다. 이는 모든 개발자가 원격의 베어 재현에서 체크 아웃 할 수 있기 때문에 소규모 개발자뿐만 아니라 단일 개발자 설정에도 효과적입니다.
몇 가지주의 사항이 있습니다.
이제 위에서 설명한 체크리스트와 설정으로 :
1. Github을 사용하여 repos를 처리하지 않고 내부 서버에 git 환경을 만들고 싶습니다.
Github는 여기서 자신의 업스트림 리포지토리 (Wordpress) 만 처리합니다.
2. 자식 브랜치 생성시 하위 도메인 자동 생성 (development.domain.com, ryan.development.domain.com)-아마도 일부 쉘 스크립트 후크가 이상적입니다.
설명 된 설정은 사이트 당 하나의 리포지토리를 가진 모듈 방식입니다. 원하는만큼의 개발 호스트를 처리 할 수 있으며, 여러 사이트를 처리하기 위해 다중 사이트 설치와 동일하게 작동 할 수 있지만이 방법에서는 하나의 워드 프레스 설정으로 계산됩니다.
3. Phing PHP / Shell 스크립트 푸시시 직렬화 된 데이터베이스 교체를 처리하기위한 DB 마이그레이션 (이 http://interconnectit.com/products/search-and-replace-for-wordpress-databases/ 과 같은 ) 처리
코드 만 버전 제어하에 있기 때문에 데이터베이스는 개발 (스테이징)과 프로덕션 사이에서 독립적입니다.
도메인 마이그레이션을 올바르게 수행하는 설치 스크립트를 찾고 있지만 직렬화 된 데이터 검색 및 교체를 처리하는 더 나은 코드 (사용 가능한)를 사용 하더라도이 설정에서는 변경 사항을 적용하기 위해 일반적으로 필요하지 않습니다. 테스트 사례의 경우 개발 데이터베이스에서 컨텐츠를 신속하게 작성할 수 있습니다. 일반적으로 가장 작은 문제입니다 (실제 경험에 따라 다를 수 있음). 그러나 데이터베이스 마이그레이션 관련 주제를 질문에 대한 정보로 유지하는 것이 좋습니다. 사이트에서 여기를 소유하고 있지만 문의하시기 바랍니다).
내 서버에서 약 200 개의 사이트를 운영하고 있으며이 사이트를 강력한 자식 워크 플로 환경에 구현하기 시작하여 작업을 훨씬 효율적으로 수행 할 수 있습니다.
이러한 사이트가 어떻게 문자열 git 워크 플로 환경에 있는지 상상할 수 없습니다. 여기에서 관리하는 구성 스크립트 및 구성 데이터는 git 버전 제어로 유지됩니다. 말이 될 수 있습니다. 그렇지 않으면 엄청난 양의 사이트로 인해 모든 사이트를 하나의 자식 저장소에 유지하는 것이 전혀 의미가 없다고 생각합니다. 아마도 위에서 설명한 내용은 설치 작업뿐만 아니라 개발 한 사이트 (WP 코어 코드 포함)를위한 것이기 때문일 것입니다. 따라서 먼저 200 개의 사이트에 대한 작은 맵과 이들이 서로 상호 작용하는 방식과 해당 사이트가 구성하는 패키지 (WP 코어, 플러그인, 테마)를 작성해야합니다. 우선 스프레드 시트 / 매트릭스를 만들고 모든 사이트를 넣을 수 있습니다.
그런 다음 CSV로 저장하고 버전 관리하에 배치 한 후 배치 스크립트가 해당 파일을 기반으로 작업을 수행하도록 할 수 있습니다.
자동화 작업으로 무언가를 배웠다면 유닉스 철학을 따르고 기존의 잘 작동하는 도구를 사용하십시오 (일부 명령에 대해 반나절을 읽은 다음 대체물을 찾으려고 노력하는 것이 좋습니다. 대부분의 직업에서 문제가 있었기 때문에 이미 해결) 명령 줄 도구에 중점을 둡니다. 그들은 가장 강력합니다.