2012-12-11 2 views
5

설정했습니다. GitLab을 설정하고이를 사용하여 Git 저장소를 호스팅하고 있습니다. 이제 내가하려고하는 것은 post-receive 후크를 설정하여 site_dev이라는 폴더에서 개발 한 다음 내 변경 사항을 적용하여 site 폴더에 자동으로 가져옵니다.GitLab PHP 웹 사이트 구축

전 아침에 나는이 훅을 작동 시키려고 노력했지만 우분투 서버에서 실행되는 GitLab을 사용하여 명령을 실행하지 못했지만 resque 서비스가 실행 중이며 내 직원이 활성 상태라는 것을 알고 있습니다.

현재 내가 가진 :

#!/bin/bash 
LIVE="/var/www/teamnet" 
# read oldrev newrev refname 
# if [ $refname = "refs/heads/master" ]; then 
    echo "===== DEPLOYING TO LIVE SITE =====" 
    cd $LIVE || exit 
    unset GIT_DIR 
    git pull 
    echo "===== DONE =====" 
# fi 

내 변화를 끌어 시도.

내가 여기 뭔가 잘못했는지 여부가 확실하지 않습니다 ... 모든 폴더가 동일한 서버의 같은 위치에 있습니다. /var/www/ 그리고 네, 후크에 chmod +x을 달았습니다.

예, 폴더에 git init --bare을 실행하고 Git 저장소로 설정했습니다. 그러나 나는이 훅이 살아야하는 곳, 라이브/dev 폴더에 대해 약간 혼란 스럽다.

+0

왜 "read"가 코멘트에 있습니까? – VonC

+0

다른 예제 훅을보고있을 때 전혀 사용하지 못했습니다. 나는 의견이있을 때와 없을 때 시도했다. – James

답변

2

GitLab으로 사용되는 Gitolite의 경우 수신 후 후크 as VREF (그 중 I detail here)을 선언해야합니다. 선택한 디렉토리에 VREFs를 저장하기 위해 (this script 참조) .gitolite.rcLOCAL_CODE 변수를 포함하는 것을 예로

.

그런 다음 gitolite-admin repo의 gitolite.conf에있는 하나 이상의 Repo에 해당 VREF (후크 실행 파일)를 연결할 수 있습니다. (GitLab을 통한 인터페이스가 없기 때문에 수동으로,)

+0

GitLab과 관련하여이 작업을 수행하기위한 연습이 있습니까? :) – James

+0

@James 내가 아는 게 아니라면 : 나는 gitlab 서버의 gitlab-admin repo를 스스로 복제하고 (어디에서든지), 나의 modif를 만들고 뒤로 밀어 넣는다. – VonC

+0

알았어,하지만 난 아직도이 연결 고리를 설정하는 방법에 대해 현명하지 않아? 그것은 dev 저장소 또는 라이브 하나, 또는 둘 다 대신에 서버에 가나 요? – James