힘내와 Wordpress


21

인터넷에서 검색했지만 올바른 해결책을 찾을 수 없기 때문에이 질문을하고 있습니다. 실제로 여러 개발자가 서로의 혼란을 일으키지 않고 단일 워드 프레스 프로젝트에서 작업 할 수있는 솔루션을 원하지만 워드 프레스에서 모든 것이 플러그인이 활성화되어 있고 활성화되지 않은 것과 같이 데이터베이스에 유지된다는 것을 알고 있습니다.

개발자가 로컬 프로젝트에 플러그인을 설치하는 경우 서로 통신하는 방법보다 모든 플러그인이 특정 플러그인 또는 플러그인 등을 설치해야하며 모든 개발자가 모든 개발자가 코드를 밀거나 당기면 다른 사이트를 손상시킬 수 있습니다.

데이터베이스를 공유해야하는 경우, 플러그인 / 테마 설정을 공유하여 개발자간에 충돌이나 충돌이 발생하지 않도록하십시오.

감사


5
wp-cli.org 는 귀하의 작업 흐름에 많은 도움을 줄 것입니다.
jgraup

1
가능하면 jekyll 또는 이와 유사한 것으로 전환하십시오.
Jens Schauder

Jekyll은 github에 구워졌으며 github와 잘 작동합니다.
DaveRGP

FITW, Git과 같은 것을 사용할 때 충돌과 충돌이 완전히 제거되지는 않습니다. 충돌을 "병합"할 준비가 될 때까지 충돌을 방해하지 않습니다.

1
모든 개발자가 공개적으로 호스팅되는 공통 DB를 공유하고 버전 제어를 위해 GIT에 커밋 할 수 있습니까?
MonkeyZeus

답변:


18

플러그인 Git :

그런 다음 Git을 사용 composer.json하여 TGM 플러그인의 변경 사항 을 관리 하십시오.

가장 어려운 부분은 데이터베이스를 동기화하는 것입니다 .

확실히, 우리는 데이터베이스를 공유해야합니다. 플러그인 설정 / 옵션을 재구성하는 것은 좋은 생각이 아닙니다.

무료 및 프리미엄 플러그인많이 있습니다 .

수동 뭔가, 법인 (法人) 시도하려면 WP-CLI @Wyck의를.


8

우리 팀도 비슷한 문제에 직면했습니다. 우리는 git을 사용하여 플러그인 및 작성하는 테마와 같은 자체 사용자 정의 코드를 버전 화합니다. 작성하지 않은 플러그인과 같은 종속성을 관리하기 위해 Composer 를 사용 합니다. 우리는 composer.json 및 composer.lock 파일을 git로 검사하여 모든 사람을 동기화시킵니다. 각 개발자는 git master 브랜치를 잡아 당겨 composer update플레이 펜을 자주 실행 해야하므로 모든 사람이 최신 상태를 유지할 수 있습니다.

데이터베이스에서 개발자는 주로 구성을 중요하게 생각하며 종종 WP-CLI 를 사용 하여 구성을 동기화 상태로 유지합니다. 예를 들어, WP-CLI 명령을 실행하여 호스트별로 플러그인을 활성화 또는 비활성화하는 쉘 스크립트가 있습니다. 예를 들어 일부 플러그인은 콘텐츠 준비 호스트에서만 사용되므로 스크립트는 모든 호스트에서 실행될 수 있으며 해당 호스트에서 적절한 세트 만 활성화합니다. 스크립트에 너무 많은 시간이 소요되는 일부 구성은 문서화되고 필요한 경우 수동으로 재현됩니다.

또한 컨텐츠 스테이징 서버에서 QA 또는 개발자 호스트로 데이터베이스를 완전히 복제하는 perl 스크립트가 있습니다. 개발자는 현재 모든 컨텐츠를 원할 경우이를 정기적으로 사용할 수 있지만 일반적으로 코드와 구성을 갖는 것보다 덜 중요합니다. 스크립트는 다음 작업을 수행합니다.

  • 컨텐츠 스테이징 서버 데이터베이스의 mySQL 덤프, 테이블 이름 변경, 대상 서버 데이터베이스에로드
  • wp-cli를 사용하여 대상 서버를 참조하도록 데이터베이스 내의 스테이징 서버에 대한 참조를 변경하십시오.
  • 대상 서버의 업로드 디렉토리를 컨텐츠 스테이징 서버의 업로드와 동기화

실제로 데이터베이스를 버전 관리하는 유망한 솔루션이 있습니다. VersionPressMergebot 은 내가 아는 두 가지이며 다른 것이있을 수 있습니다.

블로그에서 git 및 Composer와 함께 작동하도록 WordPress를 설정하는 방법에 대한 자세한 기술 정보를 작성했습니다 . git에서 유지하려는 코드와 WordPress 코어를 명확하게 분리하려면 자체 디렉토리에서 WordPress 코어로 실행해야했습니다. 우리는 WordPress 자체를 종속성으로 취급하고 Composer로 관리합니다.


7

내가 본 가장 좋은 해결책은 Bedrock ( https://roots.io/bedrock/ ) 을 사용하는 것 입니다.

이 질문에 대한 다른 답변들 (작곡가 및 플러그인을 관리하는 것)은 좋은 답변입니다. 그러나 Bedrock은 체계적이고, 지원되며, 문서화되고, 지속적으로 개선 된 방법을 제공합니다.

또한 하나 이상의 git repo를 가질 수 있습니다. 하나는 테마, 하나는 개발하는 각 사용자 정의 플러그인, 하나는 Bedrock / Wordpress 설치 자체를위한 하나입니다.


"Bedrock은 체계적이고, 지원되며, 문서화되고, 지속적으로 개선 된 방법을 제공합니다. 확인할 수 있습니다, 암반은 위대합니다! Sage (동일한 사람, Roots가 개발)와 함께 사용하면 팀 전체의 사용자 지정 개발을 관리 할 수 ​​있습니다. 여전히 딸꾹질이 있고 @ Dan9 답변이 더 완벽하지만 Bedrock의 칭찬을 충분히 부를 수는 없습니다!
samrap

MVC 개발자는 동의하지만 WordPress 사이트에서 수행하는 작업 유형은 프런트 엔드를 많이 사용하므로 Sage의 자산 관리 설정은 전 세계적으로 좋지 않은 방법으로 가치가 있습니다.
samrap

0

테마 또는 사용자 정의 플러그인에서 작동하는 동일한 플러그인을 모두 설치 해야하는 경우 데이터베이스도 공유합니다.

git과 composer 를 사용 하여 다양한 개발 환경을 최신 상태로 유지합니다. 최신 변경 사항을 가져 와서 작곡가를 다시 실행하기 만하면됩니다.


0

우선 우리는 WordPress 디렉토리 구조를 이해해야합니다. WordPress 디렉토리 구조는 사용하기에 쉽지 않습니다 git. 따라서 다소 git친숙한 수정 아키텍처 와 함께 사용하는 것이 좋습니다 . 아니요, 당황 할 필요가 없습니다. 반드시 이것을 만들 필요는 없습니다. 많은 종류의 상용구나 구조화 된 워드 프레스 시스템이 있습니다. 그중 하나를 골라 코딩을 시작하십시오.

이제 잘 조직 된 코드 나 유지 가능한 코드를 작성하는 시점에 도달하십시오. 실제로 코드를 wp-content\themes\your-theme또는 에 넣습니다 wp-content\themes\your-theme. 따라서 대부분의 git친숙한 WordPress 상용구에서 wp-content부품이 분리됩니다. 그리고 그들은 주로 WordPress repo throuh를 당깁니다 composer. 전체 프로젝트를 훨씬 깨끗하게 만듭니다.

플러그인 동기화는 또 다른 중요한 부분입니다. 를 통해 플러그인을 설치하면 더 좋습니다 composer. 프로젝트 코드를 훨씬 깨끗하게 만듭니다. 여기 를 통해 WordPress 플러그인을 설치하는 방법에 대한 개요를 얻을 수 있습니다 composer.

이제 데이터베이스를 동기화하는 방법이 가장 중요한 부분입니다. 두 가지 방법으로보다 쉽게 ​​수행 할 수 있다고 생각합니다.

  • 모든 개발자는 하나의 원격 데이터베이스를 사용해야합니다. 그리고 자주 백업을 만듭니다.
  • WordPress의 가져 오기 내보내기 기능을 자동화하십시오. 복잡해 보이지만 그렇지 않습니다. 그냥 구글을해라. 그렇게 할 수 있기를 바란다.

희망이 당신을 도와줍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.