WordPress
스테이징 사용: 프로덕션으로 푸시 및 프로덕션에서 풀
Once a staging copy exists, two operations keep it useful: pushing your tested changes up to the live site, and resetting staging back to a fresh copy of production. This guide covers both…
스테이징 복사본이 존재하면, 테스트된 변경사항을 라이브 사이트에 푸시하고 스테이징을 프로덕션의 최신 복사본으로 리셋하는 두 가지 작업으로 유용하게 유지할 수 있습니다. 이 가이드는 양방향 모두를 자세히 다루며, 라이브 사이트를 보호하는 확인 사항과 데이터베이스 푸시로 인해 데이터가 손실될 수 있는 경우를 설명합니다.
아직 스테이징 환경을 만들지 않았다면 Using Staging Environments부터 시작하세요. 이 문서는 스테이징이 이미 존재하는 시점부터 진행됩니다.
두 가지 방향
| 작업 | 덮어쓰는 항목 | 사용 시점 |
|---|---|---|
| Push to Production | 라이브 사이트 | 스테이징의 변경사항이 테스트되어 라이브로 준비됨 |
| Reset from Production | 스테이징 사이트 | 작업할 현재 라이브 사이트의 깨끗한 복사본을 원할 때 |
둘 다 같은 화면에 있습니다: Websites, 사이트 선택, Environments, Staging.

해당 화면 맨 위 카드에는 스테이징 도메인, 상태, 마지막으로 프로덕션에서 동기화된 시간, 마지막으로 푸시된 시간이 표시됩니다. WP Admin은 스테이징 사이트의 대시보드로 바로 로그인하고, Visit site는 스테이징 프론트엔드를 엽니다.
1주일 이상 동기화되지 않은 스테이징 복사본은 해당 카드에서 주황색으로 표시됩니다. 오래된 스테이징은 스테이징이 없는 것보다 나쁩니다. 라이브 사이트와 더 이상 유사하지 않은 사이트에 대해 테스트하게 됩니다. 새로운 작업을 시작한 후가 아니라 시작하기 전에 리셋하세요.
스테이징을 프로덕션으로 푸시
라이브 사이트의 일부 또는 전체를 스테이징에 있는 것으로 바꿉니다.
- Environments, 그 다음 Staging을 엽니다.
- Push Staging to Production으로 스크롤합니다.
- 체크박스로 푸시할 항목을 선택합니다: Files, Database, 또는 둘 다.
- Database를 선택했다면 Rewrite URLs를 선택한 상태로 두세요. 이는 모든 테이블에 걸쳐 검색 및 바꾸기를 실행하여 푸시의 일부로 스테이징 호스트명을 프로덕션 호스트명으로 바꿉니다.
- **I understand this modifies my live production site.**를 선택합니다.
- 확인 상자에 프로덕션 도메인을 표시된 그대로 정확히 입력합니다.
- Push to Production을 클릭합니다.
체크박스가 선택되고 도메인이 일치할 때까지 버튼은 비활성화된 상태로 유지되므로, 시간이 맞지 않은 클릭으로 인해 푸시가 시작될 수 없습니다.
푸시는 덮어쓰기이며 병합이 아닙니다. 마지막 리셋 이후 프로덕션에서 변경된 모든 항목은 스테이징의 내용으로 대체됩니다. 여기에는 새로운 게시물, 새로운 고객 계정, 새로운 양식 항목 및 새로운 주문이 포함됩니다.
푸시 전에 프로덕션의 전체 백업이 자동으로 생성되며, 푸시가 도중에 실패하면 프로덕션은 해당 백업으로 롤백됩니다. 작은 사이트는 보통 1분 이내에 완료되고, 큰 데이터베이스나 수 기가바이트의 미디어 라이브러리는 더 오래 걸립니다.
파일, 데이터베이스, 또는 둘 다 선택
이것이 가장 중요한 결정이며, 답은 보통 "둘 다"가 아닙니다.
Files only. 방문자로부터 무언가를 수집하는 사이트의 안전한 기본값입니다. 테마 편집, 플러그인 업데이트, 템플릿 변경 및 사용자 지정 코드는 모두 파일에 있습니다. 파일만 푸시하면 프로덕션의 모든 게시물, 댓글, 주문 및 사용자가 그대로 유지됩니다.
Database only. 스테이징에서 만든 콘텐츠 또는 설정 변경의 경우, 프로덕션을 직접 편집하지 않는 사이트에서 사용합니다. 실제로는 드뭅니다.
Both. 스테이징이 새로운 사이트이고 프로덕션이 완전히 교체되는 리디자인 또는 재구축에 적합합니다. 공지하고, 업무 시간 외에 수행하며, 현재 백업이 있는지 확인하세요.
라이브 스토어로 데이터베이스를 푸시하면 주문이 삭제됩니다. WooCommerce는 주문, 고객, 구독, 쿠폰 및 재고 수준을 데이터베이스에 보관하므로, 마지막 프로덕션 리셋 이후 배치된 모든 주문은 푸시가 완료되는 순간 사라집니다. 부분 복구는 불가능합니다. 스토어에서는 파일만 푸시하고 데이터베이스 수준의 변경은 프로덕션에서 직접 수행하세요. Setting Up WooCommerce를 참조하세요.
동일한 함정은 덜 극적이지만 WordPress에 저장된 댓글, 양식 제출, 멤버십 가입 또는 메일링 리스트가 있는 모든 사이트에 적용됩니다.
프로덕션에서 스테이징 리셋
이것은 안전한 방향입니다. 스테이징을 현재 라이브 사이트로 덮어쓰고 프로덕션에는 절대 영향을 주지 않습니다.
- Environments, 그 다음 Staging을 엽니다.
- Reset from Production을 찾습니다.
- Files, Database, 또는 둘 다를 선택합니다.
- Reset from Production을 클릭합니다.
다음과 같은 경우에 수행하세요:
- 프로덕션이 진행되어 새로운 게시물, 새로운 주문 또는 콘텐츠 편집이 있는 경우.
- 새로운 작업을 시작하고 현실적인 기반을 원하는 경우.
- 스테이징이 충분히 벗어나 테스트 결과가 의미가 없는 경우.
스테이징에서 푸시되지 않은 모든 항목은 손실됩니다. 스테이징에 아직 원하는 작업이 있으면, 먼저 푸시하거나 Files, 그 다음 File Manager를 통해 변경된 파일을 복사한 후 리셋하세요.
URL 다시 쓰기 작동 방식
WordPress는 자신의 주소를 데이터베이스에 저장하며, options 테이블의 siteurl 및 home 행에 저장되고, 절대 URL도 게시물 콘텐츠, 메타 값, 위젯 설정 및 테마 옵션에 나타납니다.
스테이징 사이트는 staging. 다음에 도메인으로 실행되므로, 작업 중일 때 이러한 모든 값은 스테이징 호스트명을 가리킵니다. 푸시 시 Rewrite URLs는 모든 테이블에 걸쳐 적절한 검색 및 바꾸기를 실행하여 직렬화된 플러그인 설정을 올바르게 처리하고 스테이징 호스트명을 프로덕션 호스트명으로 바꿉니다.
특정한 이유가 없는 한 선택된 상태로 두세요. 파일만 푸시하거나 오래된 스테이징 URL이 남아 있으면, Running a Search and Replace로 수정하세요.
지속 가능한 워크플로우
- Reset from production하여 스테이징이 라이브 사이트와 일치하도록 합니다.
- Take a backup of production, 시작하기 전에 푸시와 독립적인 복구 지점을 가지세요: Taking a Backup.
- Do the work on staging. 플러그인 및 테마 업데이트, 새로운 코드, 레이아웃 변경.
- Test on the staging domain. 변경한 페이지와 변경하지 않은 페이지를 로드합니다. 스토어에서는 테스트 주문을 처음부터 끝까지 실행하세요.
- Push files only 데이터베이스도 반드시 포함해야 한다고 의도적으로 결정하지 않는 한.
- Check production immediately. 홈 페이지, 깊은 페이지, 체크아웃 및 관리자 대시보드.
- Reset staging from production again 만족하면, 다음 라운드가 깨끗하게 시작되도록 합니다.
스테이징은 프로덕션 사이트에서 완전히 관리됩니다. Websites 목록에 별도의 항목으로 표시되지 않으므로, 삭제를 포함한 모든 제어는 이 하나의 탭에 있습니다.
스테이징 삭제
같은 화면 아래의 Delete Staging 카드는 스테이징 복사본을 제거합니다. 프로덕션은 영향을 받지 않습니다. 프로젝트가 완료되면 삭제하세요: 스테이징은 요금제의 스토리지에 포함되며, 오래된 복사본은 자산보다는 책임입니다.
문제 해결
Push to Production 버튼이 활성화되지 않습니다. 두 조건이 모두 충족되어야 합니다: 확인 체크박스가 선택되어 있고, 프로덕션 도메인이 정확히 입력되어 있으며, https://가 없고 후행 슬래시가 없어야 합니다.
푸시가 완료되었지만 사이트에 여전히 이전 콘텐츠가 표시됩니다. 캐싱입니다. WordPress에서 Quick Actions, 그 다음 Flush Cache로 플러시하고, Performance에서 Kapsule CDN에서 CDN을 제거하며, 프라이빗 창에서 다시 로드하세요.
푸시 후 라이브 사이트에 스테이징 URL이 표시됩니다. Rewrite URLs를 선택하지 않고 데이터베이스가 건너뜁니다. 스테이징 호스트명에서 프로덕션 도메인으로 검색 및 바꾸기를 실행하세요: Running a Search and Replace.
데이터베이스를 푸시했는데 주문이 손실되었습니다. 더 많은 주문이 도착하기 전에 즉시 자동 푸시 전 백업을 복구하세요: Restoring From a Backup.
리셋 후 스테이징에서 오류가 표시됩니다. 프로덕션 도메인을 하드코딩하는 플러그인이 보통 원인입니다. 스테이징 카드에서 WP Admin으로 로그인하고 오류가 해결될 때까지 플러그인을 비활성화한 후, 프로덕션에서 문제 플러그인을 수정하거나 교체하세요.