a-sel's blog

株式会社青山セレクトの技術メモ件、日記

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上で起動したcentosyumを実施すると

なにやらドメインが見つからないエラー。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にて

 yum install ruby

その後一般ユーザに戻って

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

が利用できるようになるそうです。