私たちはしばらくSSH経由でプライベートgitリポジトリを使用してきました。これで、コードを配布するための読み取り専用バージョンを使用できるようにします。つまり、リモートユーザーがデプロイするコードをチェックアウトすることはできますが、リポジトリにプッシュバックすることはできません。どのように私は自動的に2つの裸の動向を同期させることができますか?
(これは、私たちは、これらすべてのリモート運用サーバーからのgitサーバーへのSSHアクセスを設定する必要がなく、複数の運用サーバーに展開できるようにすることを意図している。)
これまでのところ、私は主のクローンを作成することができましたウェブルートに出てプライベートセクションから、それを公開:
$ cd /path/to/web/root/git
$ git clone --bare /repos/git/project-name project-name.git
$ cd project-name.git
$ touch git-daemon-export-ok
$ git --bare update-server-info
$ mv hooks/post-update.sample hooks/post-update
...しかし、今/path/to/web/root/git/project-name.git
で結果のレポは、それがプライマリから更新されない限り無関係性にドリフトする運命にある、と私はつもりはありません毎日git fetch
を手動で実行してください。どのように私はそれを自動的に更新するのですか?私はgit fetch
を定期的にcronスクリプトで実行すべきですか、それともポストコミットフックが来るのでしょうか?
以前は、運が悪い(通常はアクセス権の問題)ためにシンボリックリンクを試しました。どうやら、私が試したばかりのパターン、つまりWebルートにリポジトリを入れ、gitディレクトリにシンボリックリンクを置いたのは、私が試したことのないものでした。それは明らかに道のりです。ありがとう。 – pjmorse