Tag : git

Git

Gitで自動デプロイ!

どうも。

思ってた以上に今年の夏はバテずに済んでいて、
もしかして夏に強くなったのかも!?とはしゃいでるひそかです、こんにちは。

夏大好きだからね~もう暇さえあれば遊びたいよね~w(←

で、今回はGitのお話!

手動でPullするのっていちいちめんどくさいよね。。。

以前とあるサイトの公開時に
ローカル→リモートのGit→テスト環境
っていうかんじの構造で開発してたんですがローカルからリモートにcommitした後
いちいち手動でテスト環境でPullしていて非常にめんどくさかったので
そこ自動化できたら楽でいいよね?ってことで試してみました。

今回はWin+さくらVPSという環境でやってます。
(いちいち別画面で開くせいで黒い画面開きまくってウィンドウ整理超めんどかった・・・タブで開けるアプリ探そう・・・)

手順としては以下のとおりでやりました。
もしかしたら余計な手順踏んでるかもしれないけどそのへんはご容赦下さい・・・(^_^;)

実際にやってみる!

  1. リモートに作業用リポジトリを作成(hiso.git)
  2. 本番環境にもリポジトリを作成(test)
  3. 作業用リポジトリ(hiso.git)にhookを設定する。
  4. ローカルから作業用リポジトリ(hiso.git)へPushすると自動で本番環境も変更される!

1.リモートに作業用リポジトリを作成(hiso.git)

共有するかも?と思ったので一応「–bare –shared=group」にしておきましたが
それ以外は特別なことは何もせずいたって普通にGitのリポジトリを作成しました。

2.本番環境にもリポジトリを作成(test)

こちらも通常通りリポジトリを作成。
共有設定はしなかったけど、remote origin に作業用リポジトリ(hiso.git)を設定しています。

3.作業用リポジトリ(hiso.git)にhookを設定する。

これが今回一番大事なとこ!
作業用リポジトリ(hiso.git)内のhooksフォルダにある「post-receive.sample」をリネームして
post-receive」に変更するか、または新しく作ります。私は新しく作ってみました。

vi post-receive

で、早速できたファイルに以下を追加。

#!/bin/sh
cd /var/www/html/test/(本番環境のパス)
git --git-dir=.git pull origin master

参考サイト色々見てると1行目に書くのは/bin/bashと/bin/shの2パターンあるみたいです。
どう違うのかはいまいちわかってないんですが・・・(^_^;)

いちお参考サイト。

参考:『/bin/sh と /bin/bash の違い』
http://sechiro.hatenablog.com/entry/20120806/1344267619

2行目で本番環境ディレクトリに移動しています。
今回は同じサーバー上の別ディレクトリだったのでそのように。

3行目で動作の指定をしています。
「–git-dir=.git」を書いておかないと、gitリポジトリじゃない!って怒られるらしい?

作業はコレで終わり!超簡単(・ω<)☆
実際にローカルからPushすると、何もしなくても本番環境が更新されてました。
おー楽楽!

っても最初はちゃんと動かず
本番環境のディレクトリ指定とか3行目にorigin master書いてなかったりで
何度かつまづきましたけども・・・(-_-;)
でも参考サイト見ると3行目にorigin master書かなくても動いてる例もあるんだよね。謎・・・です。

これで作業も少し楽になるかな~♪

Categories: git, WEB。

VPSあれこれ。

今年こそモッズコートが欲しい!
ひそかです、こんばんわ。

もうね、なんてゆーかね
MTとか触りたくないよね。
会社のPCがっつりカスタマイズしたくもなるよ・・・
そゆもんだよね、うん・・・

さて今回は備忘録を兼ねたVPSの諸々についてです。

VPSの開発環境を共有しよう!

色々とお手伝いをお願いしたり、作業を一緒にやったり
何かとデータを共有する機会が多いので
いっそのことりっくんとVPSの開発環境を共有しよう!と思い立ちまして
早速VPSのユーザーと共有スペースを作ったのですが
公開鍵を交換していざSSHでアクセスをためしてみると
りっくんはうちのVPSには接続できるのに、
私がりっくんのVPSに接続しようとするとなぜかエラーが出て接続できない・・・

サーバーの設定とか
パーミッションとか
いろいろ調べて確認して試して・・・
でもダメで・・・

で、最終的に判明した原因が私の公開鍵でした・・・

私はWindows7+Puttyという環境でVPSをいじってたのですが
公開鍵もPuttyで作成していました。
でも、このPuttyで作成した公開鍵っていうのが、実はダメで。

なんか独特な鍵っぽい?
他の環境でも使えるようにするには
OpenSSHに変換する必要がある?
とかなんとか・・・(結局よくわかってないw)

で、迷った結果
素直にコマンドで鍵を新しく作成することにw

【参考】
『ssh-keygen – 認証用の鍵を生成 – Linuxコマンド』
http://vps-karuma.net/setting/command/3551/

とゆわけで、改めて作りなおした鍵を渡して無事SSH接続できるようになりました。

お互いのVPSのGitを共有!

開発環境が共有できたところで、今度はGitを共有します。

gitの設定は済んでたので共有のレポジトリを作って
早速リモートでcloneを試みるも・・・

あれ・・・また・・・エラーです・・・

VPSには普通にアクセスできるのになぜ!?どうして!?

ってまたいろいろ調べてみた結果
コンソールで作成した鍵を改めてOpenSSHに変換して登録しなおしたらすんなり通りました。

VPSはそのままいけたのに
gitになるとOpenSSHにしないとダメとか・・・
わかりづらすぎる・・・(;´д`)

とゆわけで、cloneに成功したので今度は編集してpushしようと思ったら
なんか再びエラーが出ました・・・
なぜにだー・・・・

これについては現在調査中・・・
解決したらまた忘れないうちに書いておこうと思います・・・

余談:ローカルにもGitを導入!

自分のローカルでももちろんGit使いたかったので
マシンにもGit入れました!
GUIで入れようと思ってたんですが
なんかよくわからなかったし
結局VPSでコマンドうつなら同じじゃんと思ってCUIにw
こちらは全く問題なくすんなりと設定完了。

ま、ローカルですからね、当たり前かw

余談2:ついでにCompassも導入!

前々からSassに手をだそうだそうと思っていて
なんとなーく先延ばしにしてたんですが
先日「compassやるべき!やらない理由がない!!」
って言われたので、思い立って入れることにしました。

まずはRubyをインストール。
こちらは全く問題なく完了。

もうあれね。だいぶ黒い画面にも慣れてきたよねw

で、続いてcompassをインストール。
と思ったら・・・やっぱりエラー・・・w

エラーメッセージ調べてみたら
SSLがどうのこうの言われてるっぽい。

結論からいえば、証明書の問題だったようで。

【参考】
『インストールをする際にSSLエラーになる』
http://book.scss.jp/code/c2/07.html

『Windows で Ruby のSSL証明書を更新する』
http://igarashikuniaki.net/diary/20130617.html#p01

この辺参考に設定と証明書を登録したら無事インストール出来ました!

というわけで、なんとかローカルの開発環境は整った感じです。
VPSのgitがまだ謎残ってるんだけど・・・
でもそれさえできるようになれば快適な開発LIFEが始まりますネ★
(あ、でもSublimeTextのプラグインも色々と入れなおさないとだ・・・)

Categories: git, html+CSS, WEB。