워드 프레스 Git 워크 플로우 도움말


17

Wordpress 작업을위한 강력하고 효율적인 워크 플로 아이디어를 찾고 있습니다.

  1. Github을 사용하여 repos를 처리하지 않고 내부 서버에 git 환경을 만들고 싶습니다.
  2. 자식 분기 생성시 하위 도메인 자동 생성 (development.domain.com, ryan.development.domain.com)-아마도 일부 쉘 스크립트 후크가 이상적입니다.
  3. Phing PHP / Shell 스크립트 푸시시 직렬화 된 데이터베이스 교체를 처리하기위한 DB 마이그레이션 (이 http://interconnectit.com/products/search-and-replace-for-wordpress-databases/ 과 같은 ) 처리

작업은 아마도 다음과 같이 될 것입니다 :

  1. 현재 최신 워드 프레스 버전을 가져 와서 분기하면 분기 이름에 하위 도메인 항목 (branchdevelopment.domain.com)이 표시됩니다.
  2. 사용 가능한 경우 원하는 테마 하위 모듈
  3. 체크 아웃 및 변경, 클라이언트 리뷰, 일단 푸시되면 데이터베이스 스크립트는 직렬 호스트 URL 값을 localhost (또는 하위 도메인)에서 라이브 URL로 자동 변경합니다.

이게 가능해? Capistrano도 이것과 함께 사용하는 것이 좋지만 Capistrano가 어떻게 작동하는지 잘 모르겠습니다.

내 서버에서 약 200 개의 사이트를 운영하고 있으며이 사이트를 강력한 자식 워크 플로 환경에 구현하기 시작하여 작업을보다 효율적으로 수행 할 수 있습니다. 현재로서는 기본적으로 사이트 이미지를 다운로드하여 로컬로 작업 한 다음 변경 사항을 서버에 다시 업로드합니다. 이 시대에는 매우 지루합니다.

이 유형의 워크 플로우와 관련하여 솔루션을 가지고 있거나 과거 에이 작업을 해 본 사람이 있습니까? 그렇다면 일부 리소스 / 응답이 크게 감사하겠습니다.


3
비트 버킷을 무료로 무제한 리포지토리로 사용할 수 있습니까?
Brian Fegter

2
대체 검색하면 CLI 버전 당신이 github에의 REPO를 체크 아웃하면 당신이 다양한 URL 및 매개 변수를 얻을 방법에 대한 의견이 그것으로 통과 할 수 없지만, 당신은 그것을 사용할 수있다
톰 J 노웰

답변:


6

답변 된 일반적인 질문

Nr.1. Github을 사용하여 repos를 처리하지 않고 내부 서버에 git 환경을 만들고 싶습니다.

가장 먼저 할 일은 작곡가 를 확인하고 그것이 WordPress와 어떻게 작동하는지 Andrey "@Rarst"Savchenko 의 프로젝트 입니다.

Nr.2. 자식 분기 생성시 하위 도메인 자동 생성 ( development.example.com, ryan.development.example.com)-아마도 일부 쉘 스크립트 후크가 이상적입니다.

이것은이 사이트의 범위를 벗어난 것입니다. StackOverflow에 대한 도움을 요청하거나 호스팅 업체에 문의하십시오. 일부 주최자는 이러한 항목을 직접 편집 할 수 없습니다.

Nr.3. Phing PHP / Shell 스크립트 푸시시 직렬화 된 데이터베이스 교체를 처리하기위한 DB 마이그레이션 (이 http://interconnectit.com/products/search-and-replace-for-wordpress-databases/ 과 같은 ) 처리

다중 사이트 / 네트워크 설치를 설정했습니다. 이를 통해 모든 테이블을 쉽게 관리하고 사용자를 중앙 위치에 유지할 수 있습니다.

Robert "@Wyck"Ellison 의 프로젝트 인 WP Gear 에는 대체 빌드 스크립트 목록이 있습니다. 스스로 작성한 WordPhing을 포함 합니다. @TomJNowells /Interconnect.it 스크립트는 지금까지 해당 목록에 없습니다.

운영 질문 답변

Nr. 1. 현재 최신 워드 프레스 버전을 가져 와서 분기하면 분기 이름에 하위 도메인 항목 (branchdevelopment.domain.com)이 표시됩니다.

왜 이런 일을하고 싶은지 잘 모르겠습니다 : 각 지점의 하위 도메인. 동기화 된 WordPress GitHub 리포지토리분기 목록을 보면 모든 분기의 이름이 표시 X.Y-branch됩니다. 따라서 하위 도메인의 이름은 다음과 같습니다 3.6-branch. 하위 도메인은 숫자로 시작 할 수있는 경우 그럴 확신 (그것은 수 있지만 호스팅 업체에 요청해야합니다) 다음라는 이름의 하위 하위 도메인 얻을 것이라고하는 문제가있을 6-branch하위 하위 하위 도메인 이름을 가지고, 3그리고 다른 하나는 2. 그리고 추측 페어링 하위 도메인에 2, 3 버전 분기 당신이 달성하고자하는 것이 아니다.

간단히 말해 : checkout 3.6-branch분기를 전환해야하는 경우에 한합니다.

Nr.2. 사용 가능한 경우 원하는 주제를 서브 모듈 (이 주제에 대해 내 자신의 git repo를 만들고 싶습니다.이 논문을 사용함에 따라 이미 작성된 서버에서 내부적으로 가져 오기 위해 빈 논문 git repo 설정을 원합니다)

Thomas "@toscho"Scholz 는 하위 도메인을 사용하여 WordPress 디렉토리 외부의 테마를 처리 할 수있는 멋진 플러그인을 작성했습니다. 당신은에서 찾을 수 있습니다 이 답변 뿐만 아니라 이 하나 . 자동 업데이트조차도 WP 3.6 이후 테마에서 작동합니다.

wp-config.php파일 에서 다음 상수를 설정하여 MU 플러그인 및 플러그인에 대해 동일한 작업을 수행 할 수 있습니다 .

define( 'WP_PLUGIN_DIR',   'path/to/your/plugins.dev/folder/plugins' );
define( 'WP_PLUGIN_URL',   'https://plugins.dev/plugins' );
define( 'WPMU_PLUGIN_DIR', 'path/to/your/plugins.dev/folder/mu-plugins' );
define( 'WPMU_PLUGIN_URL', 'https://plugins.dev/mu-plugins' );

이제 모든 플러그인과 테마를 버전 제어하에두고 서버에 푸시하십시오. mu-plugin 또는 네트워크를 활성화하는 기본 플러그인을 사용하여 모든 기능을 쉽게 사용할 수 있습니다.

Nr.3 체크 아웃 및 변경, 클라이언트 검토, 일단 실행되면 데이터베이스 스크립트는 직렬화 된 URL 값을 로컬 호스트 (또는 하위 도메인)에서 라이브 URL로 자동 변경합니다.

Toms 스크립트 / 플러그인이 지금까지 도움이되지 않으면 GitHub에서 풀 요청을 수락 한다고 들었습니다 .


2
이 사이트에 참석 2개월, 나는 이해 "나는 설치 다중 사이트 / 네트워크를 설정할 것" 당신의 마음에 드는 문장입니다 :)
gmazzap

@GM hehe :) 그렇습니다. 일반적으로 말해서, 왜 우리가 여전히 단일 사이트를 가지고 있는지 이해조차하지 못합니다. 네트워크 설치와 함께, 메인 도메인 / 사이트는 사실 입니다 귀하의 단일 사이트 설치로 동일한. 당신은 그 위에 많은 옵션과 가능성을 얻습니다.
카이저

일반적으로 나는 동의합니다. 단일 사이트 설치의 이유는 다음과 같습니다. 1) 제한된 서버 액세스 2) 기존 코드 (플러그인, 테마, 스 니펫)의 상당 부분이 제대로 작동하지 않거나 newtwork 설치에 문제가 있습니다. 따라서 직접 코드를 작성할 수 없거나 실제로 네트워크가 필요하지 않은 경우 단일 설치를 사용하는 것이 좋습니다.
gmazzap

1
톰스 스크립트가 작동하지 않는 경우, 전화를 사용할 유저 랜드 PHP에서 파서를 직렬화 전체 기능이 직렬화가 .
hakre

@hakre 언제나처럼 : 그냥 내 질문을 편집하십시오 :)
kaiser

3

완전한 기능 답변을 작성할 시간이 없지만 (나는 일종의 절름발이를 알고 있습니다) 어쨌든 공유 할 가치가 있습니다 (이 글에 블로그 게시물을 계획하기 때문에 이것을 편집 할 수도 있습니다)

즉, 트렁크 / 버전 지점 기반 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로 저장하고 버전 관리하에 배치 한 후 배치 스크립트가 해당 파일을 기반으로 작업을 수행하도록 할 수 있습니다.

자동화 작업으로 무언가를 배웠다면 유닉스 철학을 따르고 기존의 잘 작동하는 도구를 사용하십시오 (일부 명령에 대해 반나절을 읽은 다음 대체물을 찾으려고 노력하는 것이 좋습니다. 대부분의 직업에서 문제가 있었기 때문에 이미 해결) 명령 줄 도구에 중점을 둡니다. 그들은 가장 강력합니다.

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