친절한 우리 고모

친절한 고모의 친절한 이야기

  • 2025. 5. 2.

    by. 친절한 고모

    목차

      🎯 왜 워드프레스를 버전 관리해야 할까?

      워드프레스는 파일 기반 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 저장소 연결

      bash
      복사편집
      git remote add origin https://github.com/yourname/yourproject.git git push -u origin main

      🔄 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 자동 배포 구성 ✅ / ❌
      협업 정책 수립 (브랜치 전략, 리뷰 프로세스 등) ✅ / ❌