ARCHIVE  ENTRY  COMMENT  TRACKBACK  CATEGORY  RECOMMEND  LINK  PROFILE  OTHERS
<< September 2020 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 >>
<< amazon redshift | main | 【CakePHP】mod_rewriteの設定 >>
2016.02.05 Friday

スポンサーサイト

一定期間更新がないため広告を表示しています

2013.08.08 Thursday

gitレポジトリの作成

CakePHPの開発環境にgitを採用しました。
centosにgitレポジトリを作成して、クライアントPCのEclipseのEGitプラグインから利用。
プッシュ時にデプロイするフックを設定しました。
デプロイにjenkinsとか必要かと思っていましたが、フックだけでできちゃいました。
subversionでもフックってあったらしい。
ビルドもできるね。知らなかった。
jenkinsはテストを自動化して、レポート作成が出来る点が強力なのだろう。
とりあえず、そのときのサーバ側の設定メモ。

■gitインストール
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
rpm -Uvh rpmforge-release-0.5.2-2.el5.rf.i386.rpm
yum install git
centosにはレポジトリがないので、追加をするのがポイント

■サーバレポジトリ作成
レポジトリディレクトリを作成(gitrepo.gitをレポジトリにする場合)
mkdir gitrepo
cd gitrepo
git init

管理ファイルをレポジトリへコピーして、追加、コミット
cp -pR /home/xxx .
git add .
git commit -m 'initial commit.'
※今回はcakephpのプロジェクトを登録したのだけど、.gitignoreにconfigなどの初期ディレクトリのいくつかが記述されているので、管理したい場合は消す。

共有レポジトリを作成
cd ..
mkdir gitrepo.git
git clone --bare gitrepo gitrepo.git

共有レポジトリはみんなで触れる
chmod -R o+w gitrepo.git

さっき作ったレポジトリは使わないので削除
rm -rf xxx

■プッシュ時フック設定
cd gitrepo.git/hooks
vi post-update
 
※post-updateの内容
#!/bin/sh
cd /home/gitrepo.git
git archive master | tar -x -C /home/htdocs/xxx 

シェルに実行権限を付与
chmod 755 post-update

※レポジトリはプロジェクトごとに分割したほうがよい。
 svnはサブディレクトリからチェックアウトできたが、gitはrootディレクトリからのチェックアウトになるみたい。
2016.02.05 Friday

スポンサーサイト

コメント
コメントする








 
この記事のトラックバックURL
トラックバック
Powered by
30days Album
PR