post-receive フックを git リポジトリにインストールして、モジュールをビルドし、カスタム テスト領域にインストールするようにしました。アイデアは、テスト領域が常にレポ内の最新のコードを反映するということです。
フックは次のことを行います。
- コードを一時スペースにクローン/プルします
- モジュールをビルドする
- モジュールをテストエリアに設置する
開発者は、gitosis 経由で SSH 経由でリポジトリに接続します。データがプッシュされた後にユーザーが切断して、ビルドのために固執する必要がないようにする方法はありますか?
私はこのようなことを試しました:
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
。インストールが完了する前にフックを終了させる方法はありますか?