WordPress를 사용한 Git 워크플로우 - Localhost to Live
기본적인 WordPress 워크플로우 질문이 있습니다.
현재 워크플로우
- 나는 모든 것을 로컬로 개발한다.
- FTP 파일(및 데이터베이스 덤프)을 서버까지 전송하여 클라이언트 표시
- 로컬로 요청된 변경
- FTP 파일(및 데이터베이스 덤프)을 서버에 다시 업로드합니다.
- 기타 로컬 편집
- FTP(및 데이터베이스 덤프)의 재기동
- 헹구고 반복합니다.
이건 괴물이 된 거야다른 방법이 있을 거야
의심스러운 Git 워크플로우
- 로컬 복사본은 내 '마스터'가 됩니다.
- '밀어서' 파일을 어딘가에 저장
- 중간 위치에서 라이브/테스트 서버로 파일을 '풀'합니다.
개념적으로 어떻게 해야 하는지 알 것 같은데, 실제로 어떻게 해야 할지 모르겠어요.중간에 Github private repo로 할까요?Live 사이트를 localhost repo에서 직접 "Pull"할 수 있는 방법이 있습니까?
초급이거나 이미 두들겨 맞아 죽은 것 같다면 죄송합니다. 하지만 검색해 봤지만 기본적인 "워크플로우는 이렇게 보여야 합니다" 가이드를 찾지 못했습니다.
감사합니다!
테리
버전 관리를 전혀 사용하지 않는 것 같습니다.네가 시작하려는 것은 좋은 생각이다.SVN에서 Git으로 전환한 지 얼마 안 돼서 좀 더 거창한 수준에서 하고 있어요.우선 다음과 같은 목표부터 살펴보겠습니다.
- 버전 관리 가져오기
- Git을 통해 일종의 웹 전개를 확립하다
- 버전 제어를 원격으로 호스트하다
사람들은 Git이 웹 전개 도구가 아니라고 말할 것이다.그들이 옳을 수도 있지만, 지금까지는 잘 작동하고 있고, 나도 비슷한 일을 했다.다행히 Wordpress 설치로 연습을 했습니다.이것이 제가 취한 순서입니다.
- Git 셋업으로 모든 것을 입수하여 클라이언트까지 설치.
- 바닐라 인스톨로 최신 버전의 Wordpress를 다운로드.
git init되지 않은- 마스터를 "dev"와 "live"로 분기.
- 로컬에서 작업하여 "dev"로 커밋한 후 변경이 완료되면 병합하여 존속합니다.
제가 다시 하게 된 은 '다음에 하다'라는 작품을 죠.gitoliteVM를 사용하다이것에 의해, 이 예에서는 github가 사실상 대체되었습니다.리모트 저장소의 가치를 알고 계실 겁니다.그 루트를 꼭 추구하겠습니다.
제가 추천한 2단계에 대해 잠시 역추적해 보겠습니다.Wordpress의 바닐라 버전을 마스터에 유지하면 브랜치 중 하나에서 코어를 업그레이드하거나 모든 것을 망가뜨리는 대신 코어를 업그레이드하여 커스텀 코드로 어떻게 동작하는지 볼 수 있습니다.이것은 저에게 매우 편리했고, Magento와 같은 큰 프로젝트에 반드시 사용할 것입니다.
좋아요, 전개로 돌아가겠습니다.웹 서버에 git 클라이언트를 올려놓고 그것을 가질 수 있다.pull워크플로우의 분기에서 확인할 수 있지만 특별한 계획을 고려해야 합니다.prod 파일은 특정 장소(특히 구성(데이터베이스 등)에서 개발 파일과 다를 수 있습니다.이러한 파일은 반드시 저장해야 합니다..gitignore그러니까 차를 세우면dev에의 설정하다prod환경.
제가 이 작업을 시작했을 때 사람들이 제게 한 말을 대부분 요약해 놓았으니 도움이 되었으면 합니다.다시 한 번 말씀드리지만, 저는 당신이 있는 곳을 조금 지났을 뿐이므로, 수정/최적화 사항이 있으면 언제든지 코멘트해 주십시오.
워드프레스를 위한 워크플로우를 설정하기 시작했습니다.이미 다른 웹 프로젝트에도 몇 가지 작업을 하고 있습니다.
Gitolite(로컬 체크아웃이 없는 저장소)를 중앙 위치에서 관리하고, 개발 위치에서 브랜치가 푸시되면 gitolite에서 업데이트 훅을 트리거합니다.
이 후 이 훅은 배포 서버에 저장된 공유 개인 키를 사용하여 라이브 서버(또는 클라이언트 계정 또는 기타)에 접속하여 Wordpress 설치를 제공하는 public_html 또는 임의의 위치에서 git을 가져옵니다.
이것은 로컬 구성 저장소의 conf/gitolite.conf인 gitolite 구성 파일의 읽기 전용 엔트리를 사용하여 수행됩니다(Gitolite는 git 저장소를 사용하여 구성 파일을 관리합니다).
repo wp-versions
RW+ = tmzt
R = server1
R = server2
첫 번째는 프라이머리 공개키입니다.이 키는 같은 저장소(.ssh/authorized_keys와 같은 형식)에 저장됩니다.나머지 2대는 저장소에 대한 읽기 전용 액세스 권한을 가진 라이브 웹 서버입니다.keydir에 3개의 키를 추가하여 커밋하고 푸시합니다.gitolite 설치에서 자동으로 변경됩니다.(서버 키는 여러 사용자가 공유하며 각 사용자의 .ssh/id_rsa 파일에 복사되지만 www-data일 수 있습니다).
RW+는, 프라이머리 유저가 읽기, 쓰기, 및 고속 전송 이외의 브랜치를 갱신할 수 있는 것을 의미합니다(서버상의 커밋을 되돌리는 경우에 도움이 됩니다).
너무 귀찮고 귀찮아서 많은 개발자들이 전문적인 방법을 택하는 거 알아요.이것은 그들의 시간을 절약하는 데 도움이 될 뿐만 아니라 그들의 업무 생산성도 향상시킬 것이다.기본적으로 WordPress GitHub 개발 워크플로우에는 크게 두 가지 시나리오가 있습니다.첫 번째는 라이브 환경에서 WordPress와 Github을 사용하는 것이고, 다른 하나는 로컬 환경에서 작업할 때 사용하는 것입니다.로컬 워크플로우가 단순합니다.GitHub에서 로컬로 또는 그 반대로 변경을 푸시 앤 풀하기만 하면 됩니다.
(여러 팀이 있는 실제 환경에서 작업하는 것은 매우 복잡합니다.)
라이브 환경 워크플로우에서는 먼저 Live WordPress 사이트 파일을 GitHub Repository에 푸시한 다음 Local Folder로 풀해야 합니다.
그 후 로컬 머신에서 개발 환경 구축(코드 편집) 및 로컬에서 GitHub로 푸시합니다.
먼저 라이브 환경에 대한 변경 내용을 가져오려면 GitHub와 라이브 환경을 연결해야 합니다.
자세한 Word Press 및 Git Hub 가이드를 읽어보실 수 있습니다.이 가이드가 도움이 되었으면 합니다.https://www.cloudways.com/blog/wordpress-github/
언급URL : https://stackoverflow.com/questions/6372916/git-workflow-with-wordpress-localhost-to-live
'programing' 카테고리의 다른 글
| C++: nlohmann json을 사용하여 파일에서 json 개체 읽기 (0) | 2023.04.05 |
|---|---|
| Flutter에서 객체를 json으로 인코딩하는 방법 (0) | 2023.04.05 |
| 재료 UI 아이콘을 가져오려면 어떻게 해야 합니까?재료 UI 아이콘을 사용하는 중에 문제가 발생했습니다. (0) | 2023.03.31 |
| jQuery AJAX 요청을 취소/중지하는 방법 (0) | 2023.03.31 |
| 여러 스프링 @스케줄 태스크 동시 실행 (0) | 2023.03.31 |