2012-09-11 28 views
1

我想在git存儲庫中安裝一個post-receive鉤子來構建和安裝模塊到一些自定義測試區域。這個想法是,測試區域將始終反映回購中最新的代碼。Git post-receive自動構建

的鉤子將:

  1. 克隆/拉碼TMP的空間
  2. 構建模塊
  3. 將模塊安裝到試驗區

開發商通過連接到回購SSH通過gitosis。有什麼辦法讓用戶在數據被推送後斷開連接,這樣他們就不需要爲構建而堅持下去了?

我已經試過這樣的事情:

install(){ 
    unset GIT_DIR 

    BARE_PATH=$PWD 
    REPO_BASENAME=$(basename "$BARE_PATH") 
    REPO_BASENAME=${BARE_PATH%.git} 

    cd /my/scratch/space/ 

    if [ ! -d $REPOSITORY_BASENAME ] ; then 
     git clone file://$BARE_PATH 
    fi 
    cd $REPO_BASENAME 

    git pull 
    ./install.sh 

} 

install & 

這並不完全做到這一點。在上面的鉤子中,它不會退出,直到install完成。在安裝完成之前有沒有辦法讓鉤子退出?

回答