この記事は、以前ポートフォリオサイトに掲載していた内容を復元したものです。情報が古い場合があります。
参考
やること
- xserverにgitを入れる(参考1)
- publicじゃないところにベアリポジトリをつくる
$ cd ~/path/to/repos
$ git init --bare --shared myservice.git
- ローカルでつくったプロジェクトをこのリポジトリにプッシュする
# これはローカルでの作業
$ git init
$ git remote add xserver xserver:~/path/to/repos/myservice.git
$ git push xserver master
- xserver内で、プロジェクトを配置したい場所でベアリポジトリをcloneする
# ここからはサーバーでの作業
# 以下のコマンドでmyserviceディレクトリ配下にファイルを展開する
$ git clone myservice.git myservice
post-receive
をつくる。実行権限もつける。
vi myservice.git/hooks/post-receive
chmod +x myservice.git/hooks/post-receive
post-receive
の内容は以下の通り。
#!/bin/bash
cd ~/path/to/myservice
git --git-dir=.git pull ~/path/to/repos/myservice.git master
(おまけ)プロジェクト内にpublic_html
の役割を果たすディレクトリがある場合の設定
- 既存の
public_html
(または配下のサブドメインディレクトリ)を削除 - 代わりに同名のシンボリックリンクを貼る
$ cd ~/mydomain.com/public_html
$ rm -rf subdomain
$ ln -s ~/path/to/myservice/public subdomain