gitlabインストール
一回gitlabインストールしたことあるので簡単だとタカをくくっていたら
少々ハマった。
基本
https://about.gitlab.com/downloads/
ここでOS選んでそのままコマンド叩くと動くはずなんですが、、
apacheが先に動いているとポートがぶつかって起動できません。
service httpd stop
すれば、勝手にポートバインドされてリカバってログイン画面でるようになります。
gitからのデプロイに関して
ちょっと前のチップスですが
gitにあるデータを本番等サーバに設置する場合に
git pull
は使ったらだめですね。勝手にマージされたりコンフリクトしてしまうので。
git fetch
git reset --hard orgin/master
が無難です。
sourcetreeとtortoiseGit
もともとクライアント側のGITツールは、SVNで使っていたtortoiseGITを使っていたが
イマイチ、分かりづらい。。GITの仕組みを勉強しても、torotise上でやった作業が、どのGITコマンドに対応しているか分からない。。
もともとsubversion用のGUIなんで、GITで利用するのは無理があるのかなと思い、MACでも使えるSourceTreeに変更してみました。
使ってみると、すんなりGITの仕組みが理解でき、ようやく実際の動きと論理上の考え方が繋がりました。
初心者はsourceTreeを使ったほうが無難ですね。。。
windowsのgitが突然エラー
なぜか、急にgitでエラーが出て利用できなくなった。
gitを入れなおしたりしたが全く改善せず。
dumpファイルが吐出され中身はこんな感じ
----------------------
MSYS-1.0.12 Build:2012-07-05 14:56
Exception: STATUS_ACCESS_VIOLATION at eip=6801364A
eax=0000530C ebx=0000530C ecx=778CA4F2 edx=00740174 esi=0028FC7C edi=0028F87C
ebp=0028F6EC esp=0028F6D4 program=C:\Program Files (x86)\Git\bin\sh.exe
cs=0023 ds=002B es=002B fs=0053 gs=002B ss=002B
Stack trace:
Frame Function Args
0028F6EC 6801364A (0000530C, 00000000, 00110000, 00000000)
12985 [main] sh.exe" 9116 handle_exceptions: Exception: STATUS_ACCESS_VIOLATION
13582 [main] sh.exe" 9116 handle_exceptions: Error while dumping state (probably corrupted stack)
-------------------------
八方塞がりでググった結果
http://d.hatena.ne.jp/miau/20131229/1388301913
で解決方法を発見!
要は、特定ディレクトリに日本語ファイルが出来てしまうと問題があるようです。
C:\Users\【ユーザ名】\AppData\Local\Temp 内の日本語ファイルを消して無事救出!!
あー、、ハマった。。。
vagrant で起動したcentos
vagrant でvirtulbox上で起動したcentosでyumを実施すると
なにやらドメインが見つからないエラー。pingでは問題無く解決できるにもかかわらず。
ぐぐったら
http://www.revulo.com/blog/20080514.html
同様な現象が発生しているもよう。
ipv6を無効にすれば良いみたい。
ただ
/etc/modprobe.conf
これが存在しないので
/etc/modprobe.conf or /etc/modprobe.d/modprobe.distに以下を記述する。
alias net-pf-10 off
alias ipv6 off →ディストリのVerによっては不要っぽい
を実施。ファイルは新規作成
migr8.rb スキーマ管理
手っ取り早くスキーマのバージョン管理をするためにmigr8.rbを利用
rootにて
その後一般ユーザに戻って
curl -Lo migr8.rb http://bit.ly/migr8_rb
chmod a+x migr8.rb
export MIGR8_COMMAND="mysql -s -u hoho hogedb -p" # for MySQL
export MIGR8_EDITOR="vim" # for Vim
とやってもうまくいかない。。どうやらURLが転送がかかってcurlだとうまくいかないよう。ブラウザで叩いてみると
https://raw.githubusercontent.com/kwatch/migr8/ruby-release/lib/migr8.rb
が転送先のようで、こちらからダウンロード
./migr8.rb init
でマイグレーション用テーブルが作成される
./migr8.rb new -m "hogehoge"
でテンプレートファイルが作成されるのでそれを編集で完了。
newをしなくてもhisory.txtを手動で編集すればコマンド使わないでも管理ができそう。
ちなみに一気に最新にするコマンドあるのかな。。デプロイではそれが必要なんだけど。。
jenkinsとgitlabの連携
記事を見返してみると、GITとjenkinsの連携方法の記載がない。
思い出しつつ記載します。
概要的には、
gitlab側で、webhookという機能を利用して、pushのタイミングで自動でjenkins側に通知する仕組みを利用しています。jenkins側は
Gitlab Hook Plugin
を入れるとhttp://ジェンキンスのURL/gitlab/build_now
が利用できるようになるそうです。