티스토리 뷰

IDE/GIT

[CentOS7] git 웹서버 배포

Root_js 2021. 3. 4. 13:47

기존에 한 서버에 git 저장소 운영 및 호스팅서버를 같이 돌리고 있었음..

 

그러다 서버를 늘려야하는 상황이 생겨 서버쪽 작업을 진행함..

 

사전조건 git 저장소 서버와 호스팅서버간 git을 이용할 계정의 ssh 접속이 비번 없이 가능해야함..

 

ssh 접속 후 sh파일 실행도 가능해야함..

 

위 조건은 서버에서 각 계정별로 키를 생성하고 공유하여 접속 시 비번없이 처리되게 하면 됨..

 

배포할 서버(git 저장소 서버) 에서 작업

#사용할 계정으로 전환

su git

#키 생성 -> 엔터 -> 엔터 -> 엔터

ssh-keygen -t rsa

#키 폴더로 이동

cd ~/.ssh

#키 확인

cat id_rsa.pub

 

해당 키 복사하여 호스팅 서버쪽 ssh 연결할 계정에서 키 추가

 

호스팅 서버에서 작업

#git 서버에서 접속할 계정으로 전환

su git

#키폴더로 이동

cd ~/.ssh

#git서버 키 추가

vim authorized_keys

#위 파일에 복사한 키 붙혀넣기

 

위 작업 완료 후 git서버에서 호스팅서버로 ssh 접속테스트

인증부분 yes로 넘어간 후 접속 끊고 다시 접속할때 별다른 체크 없이 서버로 접속되면 첫단계 끝

 

호스팅서버에서 작업

git서버에서 ssh로 접속할 계정으로 전환

su git

#폴더 이동

cd /data/hosting

#git 서버 clone

git clone ssh://계정명@호스트명:포트번호/폴더경로/gitname.git

 

#pull.sh 파일 생성

cd /data/hosting

git pull origin master

 

파일 권한 755로 변경 chmod 755 pull.sh

 

파일 실행 테스트 ./pull.sh

 

이상없이 pull해오면 git 서버로 이동

 

 

git서버에서 작업

#git설정 계정으로 전환

su git

#git 저장소 이동

cd /data/git/git명.git

#hooks 폴더 이동

cd hooks

#post-update 파일 생성

vim post-update

 

post-update 파일에 ssh접속하여 실행하는 구분 추가

 

ssh -p포트번호 계정명@호스트명 "~/pull.sh"||exit

 

echo "변경 확인용 출력"

 

위 ssh 실행 뒤에 폴더 위치가 ~/는 계정폴더에 pull.sh를 만들어둔 상태일때고 호스팅폴더에 만들어뒀으면 호스팅 폴더 경로 찾아가서 실행시켜야함..

 

클라이언트에서 push하면 호스팅폴더쪽에서 자동 pull되야함~

'IDE > GIT' 카테고리의 다른 글

SSH 공개키(개인키) - 비밀번호 없이 로그인  (0) 2023.04.12
[Git]Git 서버 세팅 CentOS7  (0) 2020.05.08
Git 첫 시작 세팅 및 GitLab에 Push  (0) 2018.07.19
댓글