-
목차
🎯 왜 워드프레스를 버전 관리해야 할까?
워드프레스는 파일 기반 CMS이기 때문에
수정된 테마, 플러그인, functions.php 등이 서버에서 곧바로 수정되는 경우가 많습니다.그러나…
❌ 실수로 코드 덮어쓰기
❌ 다른 개발자와 충돌
❌ 기능 추가 후 에러 → 롤백 불가👉 이런 문제를 방지하려면 Git을 통한 버전관리 + 개발 환경 분리가 필수입니다.
✅ 이상적인 워크플로우 구성도
txt복사편집[GitHub 저장소] ↑↓ (push/pull) [로컬 개발 환경] ←→ [로컬 DB] ↓ 자동 배포 [스테이징 서버] ← 테스트 후 ↓ [라이브 서버]
🛠️ 1단계: 로컬 개발 환경 구축
🔧 추천 툴
툴특징LocalWP 클릭 몇 번으로 워드프레스 설치, SSL, 이메일 모의 전송까지 지원 DevKinsta Kinsta 제공, DB 도구와 메일캐처 내장 Laravel Valet + WP-CLI Mac 개발자용 경량 개발환경 Docker 팀 프로젝트에 적합 (예: docker-compose + nginx + mariadb)
✅ 구성 파일 예시 (Docker)
yaml복사편집version: '3.8' services: wordpress: image: wordpress ports: - "8080:80" environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_NAME: wp WORDPRESS_DB_USER: user WORDPRESS_DB_PASSWORD: password volumes: - ./wp-content:/var/www/html/wp-content db: image: mariadb environment: MYSQL_ROOT_PASSWORD: password📌 테마/플러그인 디렉터리를 로컬 Git 저장소에 연동하세요.
🧩 2단계: Git으로 버전관리 시작하기
1. Git 저장소 생성
bash복사편집git init git add . git commit -m "Initial commit"📌 보통은 /wp-content/themes/my-theme 또는 /wp-content/plugins/my-plugin 디렉토리만 Git 관리
2. .gitignore 설정 예시
bash복사편집/wp-content/uploads /wp-config.php /node_modules *.log .env
3. GitHub / GitLab 저장소 연결
🔄 3단계: CI/CD 자동 배포 파이프라인 구성
✅ GitHub Actions 예시 – 플러그인 자동 배포
.github/workflows/deploy.yml
yaml복사편집name: Deploy to Production on: push: branches: - main jobs: deploy: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Deploy via SFTP uses: presslabs/ftp-deploy-action@v1.0.2 with: server: ${{ secrets.FTP_SERVER }} username: ${{ secrets.FTP_USERNAME }} password: ${{ secrets.FTP_PASSWORD }} local-dir: wp-content/plugins/my-plugin remote-dir: /public_html/wp-content/plugins/my-plugin📌 서버 정보를 GitHub Secrets에 보관해야 보안 유지 가능
📌 main 브랜치에 코드가 push 되면 자동으로 서버에 배포됨
💡 개발 협업 팁
- 테마/플러그인마다 별도 Git 저장소 운영
- 환경 설정은 .env, wp-config-local.php 등으로 분리
- DB는 WP Migrate DB, wp-cli db export로 공유
- 변경 사항은 반드시 Pull Request로 리뷰
- 스테이징 서버를 통한 QA 후 운영 서버 반영
✅ 버전관리 & 자동 배포 체크리스트
항목완료 여부로컬 개발 환경 구축 (LocalWP 등) ✅ / ❌ Git 저장소 구성 및 .gitignore 설정 ✅ / ❌ 테마/플러그인 디렉터리 Git 추적 ✅ / ❌ GitHub 저장소 연결 ✅ / ❌ GitHub Actions or FTP 자동 배포 구성 ✅ / ❌ 협업 정책 수립 (브랜치 전략, 리뷰 프로세스 등) ✅ / ❌ '워드프레스' 카테고리의 다른 글
🔧 왜 플러그인을 구조화해야 할까? (1) 2025.05.05 🤖 왜 워드프레스에 AI를 도입해야 할까? (3) 2025.05.05 🧠 워드프레스 데이터 저장 방식의 핵심 (2) 2025.05.04 🧠 왜 마이크로서비스가 필요한가? (2) 2025.05.03 ☁️ 서버리스(Serverless)란? (1) 2025.05.02 🚀 CDN이란? (3) 2025.05.01 🌍 왜 다국어 사이트가 필요한가? (0) 2025.05.01 ⚡ 캐싱이란? (3) 2025.04.30