1

post-receive フックを git リポジトリにインストールして、モジュールをビルドし、カスタム テスト領域にインストールするようにしました。アイデアは、テスト領域が常にレポ内の最新のコードを反映するということです。

フックは次のことを行います。

  1. コードを一時スペースにクローン/プルします
  2. モジュールをビルドする
  3. モジュールをテストエリアに設置する

開発者は、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。インストールが完了する前にフックを終了させる方法はありますか?

4

1 に答える 1

1

http://en.wikipedia.org/wiki/Continuous_Integrationを使用します(例:Jenkins)。

于 2012-09-11T20:28:47.593 に答える