意地でもサブバージョンを使っていた私ですが、GITを使うと自動デプロイ=コミット(厳密にはPUSH)すればホームページのデプロイができるということを知ってしもうたわけです。
しかも今はPS5の時代、GITもマウス対応(GUI対応)日本語対応といういたれりつくせりだったわけです。これは使わない手はない!
というわけで、サクラレンタルサーバ(標準GIT対応)で実施しましたが、たぶんWEBサーバーでやるならどこだろうと一緒だろうということで、備忘録的に残します。
既にホームページ公開しているディレクトリでも問題ありません。
% git init
BAREリポジトリ用のフォルダはどっこでもいいです。
% git init --bare
実行後はこんな感じ
% pwd /home/[hogehoge]/bare % ls -ltr total 32 -rw-r--r-- 1 [noname] users 73 Sep 29 23:58 description drwxr-xr-x 2 [noname] users 512 Sep 29 23:58 info drwxr-xr-x 2 [noname] users 512 Sep 29 23:58 branches drwxr-xr-x 4 [noname] users 512 Sep 29 23:58 refs -rw-r--r-- 1 [noname] users 23 Sep 29 23:58 HEAD drwxr-xr-x 2 [noname] users 512 Sep 30 00:03 hooks drwxr-xr-x 7 [noname] users 512 Sep 30 02:11 objects -rw-r--r-- 1 [noname] users 66 Sep 30 02:27 config
このbareリポジトリにできた、hooksフォルダにbashを置いておくとgitイベントをフックしてくれるようですので、hooksフォルダに「post-receive」というファイルを作成します。
#!/bin/sh cd [ホームページ公開用フォルダ] unset GIT_DIR git pull origin master
作成したファイルのパーミッションはフル権限(777)にします。
unset~~は、環境変数の読み込みを抑止するために必要なようです。まぁその辺はご自由にどうぞ。
% git remote add origin /home/[hogehoge]/bare
ちなみに、以下知っておくとリカバリできる。
[削除用] % git remote rm origin [確認用] % git remote -v [変更用] % git remote set-url origin /home/[hogehoge]/bare
次にローカルPCのセットアップです。
素直に亀ちゃんを使います。
-インストールはとっても簡単なので割愛-
今までサブバージョンで管理していたフォルダを使うわけにはいかん(ような気がする)ので、さすがGIT用にフォルダを作成します。フォルダを作成したら、フォルダ内で右クリックをして「GIT クローン」を選択します。
あとは、サブバージョン風にコミットして、PUSHすればいいです。
そのままデプロイしたければ、PUSHする。
ここで問題発生。
パスワード毎回聞かれる問題というのが出てきました。だが、これは簡単になおる。ssh接続で、公開鍵暗号方式を使えば良い。