5

GitLabをセットアップし、それを使用してGitリポジトリーをホストしています。今私がやろうとしているのは、post-receiveフックを設定して、というフォルダーで開発しsite_dev、変更をプッシュして、それらが自動的にフォルダーにプルされるようにすることですsite

午前中ずっとこのフックを機能させようとしていましたが、Ubuntu Serverで実行されている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リポジトリに設定しました。私は少し混乱していますが、このフックがどこにあるべきか、live / devフォルダーについてはどうですか?

4

1 に答える 1

2

GitLabで使用されるGitoliteを使用する場合は、受信後のフックをVREFとして宣言する必要があります(ここで詳しく説明します)。

これは、選択したディレクトリにVREFを格納するために、に変数(このスクリプト.gitolite.rcを参照)が含まれていることを前提としています。LOCAL_CODE

次に、そのVREF(単なるフック実行可能ファイル)をリポジトリ内の1つまたは複数のリポジトリに関連付けることができgitolite.confますgitolite-admin。(手動では、GitLabを介したインターフェースがないため)

于 2012-12-11T14:57:57.280 に答える