gitolite 자동 배치
gitolite 자동 배치
gitolite 설치 본 강좌는 결합rsync
으로 완성된 자동 배치
수정.gitolite.rc(서버)
아래의 이 두 줄을 찾아서 이 두 줄의 주석을 없애다
LOCAL_CODE => "$rc{GL_ADMIN_BASE}/local",
repo-specific-hooks
클론은 자동으로 배치된 코드 라이브러리를 준비하고 디렉터리를 /test로 지정합니다.git/repo/
git clone [email protected]:xxxx.git /test.git/repo/
클론 관리 코드(gitolite-admin)
다음 수정은 모두 로컬 개발자에서 조작한다
git clone git@host:gitolite-admin.git
conf/gitolite를 수정합니다.conf
증가option hook.post-receive= deploy
@devs = admin
repo mysite
option hook.post-receive= deploy
RW+ = @devs
자동 배포 스크립트 만들기
LOCAL_CODE => "$rc{GL_ADMIN_BASE}/local",
repo-specific-hooks
git clone [email protected]:xxxx.git /test.git/repo/
git clone git@host:gitolite-admin.git
@devs = admin
repo mysite
option hook.post-receive= deploy
RW+ = @devs
gitolite-admin
루트 디렉터리에서 먼저 local/hooks/repo-specific/
디렉터리 deploy
라는 파일의 스크립트를 만듭니다. #!/bin/sh
set -x
unset GIT_DIR
NowPath=`pwd`
GIT_REPO="/test.git/repo/"
DEV_DEST="/dest/dev/"
WWW_DEST="/dest/www/"
while read oldrev newrev ref
do
branch=`echo $ref | cut -d/ -f3`
echo "--- Current branch is : "$branch
if [ "master" == "$branch" ]; then
dest=$WWW_DEST
fi
if [ "dev" == "$branch" ]; then
dest=$DEV_DEST
fi
if [[ "dev" == "$branch" || "master" == "$branch" ]]; then
cd $GIT_REPO
git checkout $branch
git pull origin $branch
sudo /usr/bin/rsync -av --delete $GIT_REPO $dest --chown=www:www --exclude=.git
fi
done
cd $NowPath
exit 0
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.