1.setup redmine
普通にrubyの環境があって、passengerが入ってて、redmineが/var/wwwの下に展開されています。
サーバのホスト名:base08。
セットアップしているマシンのユーザがtknv。
#/etc/apache2/httpd.conf
LoadModule passenger_module /home/tknv/.gem/ruby/1.8/gems/passenger-2.2.4/ext/apache2/mod_passenger.so
PassengerRoot /home/tknv/.gem/ruby/1.8/gems/passenger-2.2.4
PassengerRuby /usr/bin/ruby1.8
PassengerDefaultUser www
ServerName base08
DocumentRoot /var/www/redmine/public
で、redmineで使用するdbの準備が完了していれば、http://base08でredmineが表示されるはず。
表示されないようだったら
サイトで確認。
サーバで/var/log/apache2のログを見てもおかしいところがなければ、redmine/tmpのパーミッションが強すぎだったり、666では起動する。または、/etc/apache2/.htaccessファイルがあっていないとか、、、
2.git リポジトリーを立てる。
このサイトが参考になります。概要:ここで作成したgitユーザがこのbase08ホストで、gitのリポジトリーを立てたり、アップデートしたりします。
注意は説明で行われている、gitリポジトリーを使用するユーザ、gitユーザもbase08ホストで使用しますが、通常業務(趣味ではやらない)で使用するほうで、gitosisの設定を行います。
下記ユーザのマシンでの設定
#~/gitosis-admin/gitosis.conf
[gitosis]
[group gitosis-admin]
writable = gitosis-admin
members = aaa@TKNV bbb@bbc usr1@base08 root@base08
[group dev-Ateam]
writable = project1 project2 project-foo project-wow
members = aaa@TKNV tuka@REP USER1@thinkpad-x300 usr1@base08 root@base08 git@base08
# git@base08が今回の肝です。
[repo project1]
gitweb = yes
owner = tknv@amateras
description = module for UI and support Ajax
大事なのはgit@base08
アカウントをredmineで登録したいリポジトリーのグループに入れておくこと。
あとは、リンクにあるように、/gitosis-admin/keydirに、git@base.pubのように、sshの公開鍵を入れて、gitでサーバにプッシュ。必要なユーザ分、全部おこなう。
3.サーバ上でどうやって、gitリポジトリーを作成しpushのたびに更新するか。
ここ参考になります。しかしながら、ネットにある大抵のHowToは簡単には最近、うまくゆかない。こちらのスキルレベルもあるが、こんだけユーザが多いと、ゴミ情報がたくさん、また、最近は新しいこうゆうテクノロジーが出てくると、とにかくやってみて(やればいいのだが、未検証もあり)サイトにアップする人が多く、間違えもそのままコピペしていたり、、、で
#~/home/git/repositories//hooks/post-update
export GIT_DIR=/home/git/checkout//.git
pushd /home/git/checkout/ > /dev/null
git reset --hard
git pull
popd > /dev/null
WORKDIR="/home/git/checkout/"
/usr/bin/git-update-server-info
unset GIT_DIR
で、先のサイトにもあるが、Don’t forget to create a _local git copy_ (via git clone git@localhost:
.git in /home/git/checkout (or whatever folder you prefer)
しかし、このままでも、まだ、無理で、もう2つやることが必要で、まずは、
1.先の今回の肝、git@base08がこの、cloneした、ソースのユーザになっている必要がある。
2.ssh-agentでこのgit@base08ユーザの秘密鍵の方を登録して、パスワード認証を無しにする必要がある。
チェックリスト
- git@~ ユーザがredmineでブラウジングしたいgitリポジトリーのアクセス許可グループに入っているか?(gitosis.conf)
- git@~ ユーザのsshの秘密鍵がサーバ(redmineとgitリポジトリのある)にてssh-agentで追加され、パスワード認証が不要になっているか?
- サーバ(redmineとgitリポジトリのある)の/home/git/checkout/のユーザがgit@~ であるか?
勘違いでした。
git clone で問題ない、、、
How to create repo from remote(not at server)