상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - 웹서버구축을 위한 Git 사용 방법은 어떻게 되나요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
웹서버를 운영하면서 Git을 이용해 소스 코드를 효율적으로 관리하고 배포하려면 크게 ‘서버 준비 → 리포지터리 생성 → 훅(hook) 설정 → 로컬 워크플로우 구성 → 배포 및 관리’ 단계로 나눠 볼 수 있습니다. 아래에는 각 단계별로 필요한 절차와 팁을 순서대로 자세히 설명해 드립니다. 1. 서버 준비 • Git 설치 먼저 웹서버(예: Ubuntu, CentOS 등)에 Git이 설치되어 있어야 합니다. Ubuntu 기준으로 “sudo apt update && sudo apt install git” 명령어를, CentOS 계열에서는 “sudo yum install git”을 사용하세요. • SSH 접근 설정 서버에 SSH로 접속 가능한 계정을 만들고 공개키 기반 인증을 설정해 두면, 비밀번호 입력 없이도 안전하게 push/pull 할 수 있습니다. 2. 서버에 ‘베어(bare)’ 리포지터리 생성 베어 리포지터리는 실제 작업 트리가 없고 Git 오브젝트만 저장하는 특수한 리포지터리입니다. 웹 루트와 분리된 위치(예: /home/git/repos/project.git)에 베어 리포지터리를 만들어 두면 여러 개발자가 협업하기 편리합니다. • mkdir -p /home/git/repos/project.git • cd /home/git/repos/project.git • git init --bare 이후 이 베어 리포지터리에 개발자 로컬 리포지터리가 원격(origin)으로 연결되어 push/pull을 주고받게 됩니다. 3. 포스트 리시브(Post-receive) 훅 설정으로 자동 배포 소스를 push할 때마다 웹서버의 실제 서비스 폴더(예: /var/www/html/project)에 자동으로 배포하고 싶다면, 베어 리포지터리 안에 있는 훅 디렉토리에 post-receive 스크립트를 작성합니다. • /home/git/repos/project.git/hooks/post-receive (이 파일이 훅 스크립트가 됩니다) • 내용 예시 !/bin/bash TARGET=/var/www/html/project GIT_DIR=/home/git/repos/project.git BRANCH=master read oldrev newrev refname if [[ $refname = refs/heads/$BRANCH ]]; then echo "Deploying branch $BRANCH to production…" git --work-tree=$TARGET --git-dir=$GIT_DIR checkout -f $BRANCH 필요하다면 npm install, composer install 등 빌드 명령 추가 echo "Deployment finished." fi • 스크립트에 실행 권한을 부여하세요: chmod +x post-receive 이렇게 하면 개발자가 master 브랜치로 push 할 때마다 자동으로 웹 루트가 최신 상태로 갱신됩니다. 4. 로컬 워크플로우 구성 • 로컬 리포지터리 생성 및 초기 커밋 개발자 로컬 환경에서 “git init”을 실행하고, .gitignore 등에 환경 설정 파일·로그 파일·node_modules 등 배포 불필요 항목을 등록한 뒤 첫 커밋을 만드세요. • 원격 리포지터리 연결 git remote add origin git@서버주소:/home/git/repos/project.git • 코드 작업 → 커밋 → 푸시 코드 수정 후 “git add .” → “git <a href='https://sangseek.com/sangseeks/commit/ko'>commit</a> -m "설명"” → “git push origin master” 순으로 배포가 이뤄집니다. • 브랜치 전략 기능별 브랜치(feature/xyz) → 테스트 완료 후 develop 브랜치에 병합 → 최종 안정화된 코드를 master에 머지하고 push 하는 방식으로 운영하면 안정적입니다. 5. 배포 후 관리 및 롤백 • 서버에 체크아웃된 파일만 직접 수정하지 마시고 항상 Git 푸시를 통해 배포하세요. • 문제가 생기면 “git checkout 이전커밋해시” 또는 태그(tag)로 쉽게 롤백할 수 있습니다. • 빌드 과정이 필요한 경우 훅 스크립트에 빌드 명령(예: npm run build, composer install, migrations 등)을 함께 작성해 두면 관리가 수월합니다. 6. 고급 팁 • 권한 관리: 웹루트 폴더와 훅 스크립트 실행 유저(예: git 사용자)의 권한을 미리 조정해 두세요. • CI/CD 연동: GitHub Actions, GitLab CI, Jenkins 등을 이용해 테스트·빌드·배포 파이프라인을 구축하면 수동 푸시 없이도 안정적인 릴리즈가 가능합니다. • 보안: 외부에 Git URL을 노출하지 않으려면 VPN이나 사내망 전용 Git 서버를 운영하거나, GitLab CE/EE를 설치해 사설 리포지터리로 사용하세요. • 백업: 베어 리포지터리 자체를 주기적으로 백업하고, 중요한 설정 파일(환경 변수, SSL 인증서 등)은 별도 관리하세요. 이와 같은 흐름을 따르면 Git을 통해 버전 관리뿐 아니라 웹서버 배포까지 자동화·일원화할 수 있습니다. 프로젝트 규모와 특성에 맞춰 브랜치 전략, 훅 스크립트, CI/CD 도구를 적절히 조합하여 안정적이고 확장성 있는 웹 서버 구축 환경을 만들어 보시기 바랍니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기