2013年5月23日木曜日

githubクローン環境を試す

ちょっと開発体制を見直そうぜって事で流行りものを一通り試そうという事に。

まずはソース管理関連。githubみんな使ってるぜみたいな感じだけど何出来るのかサッパリわからんので触ってみたかったのですよ。

で本家は仕事に使うにはコストがかかるのと(実際は自前だと社員が動く分の管理コストかかるんだけどな)その他諸々の問題(単に組み込み関連の世界って古い考え方が残っているので人様のサーバに成果物を置くのはNG的な風潮がある。個人的にはクソクラエなんだけど世間体もあるので。)でクローンを試してみる事に。

どうでも良いけどgitにはcloneというコマンドがあるのでググると違う物いっぱい出てくるゼ。

ちょっと調べたら


まずこの辺りデスか。なんとなくその中のrhodecode、そしてその後にgitlabをまず試してみました。

結論からいくとどちらも何も入れていない素のサーバ(今回はdebian7を使用)に入れるという前提であれば何も考えずにインストールマニュアル通りにやったら動きました。

gitlabは最終段の機能チェックみたいなところで「sidekiq」とやらが動いていないとか起動スクリプトが古いとか怒られるんだけど確認するとどちらも問題無さそうなのでスルーでok。それ以外のハマりポイントは説明読みながらコピペ、もしくは適宜設定していれば問題無し。

パッと見の印象としてはgitlabの方がissue管理とかwikiとかコラボ用の機能があるので高機能っぽい。でもrhodecodeの方がインストール楽だしアカウント管理はLDAPとかに対応している分そういうので共通化したい場合は楽かも。という感じ。動作速度はあまり体感差は無いかな。

個人的にはrubyってパッケージを使っていたとしても依存関係の問題で環境構築でハマる事が経験上多くてアレルギーがあるので極力避けていたんですが、今回のgitlabはすんなり入ったものの(最近流行の仮想化環境での構築が功を奏してるんだと思います。まぁ、それでもruby自体はパッケージで入れるとおまけが多すぎるのでソースからビルドしたり色々周辺を整える必要があったので面倒なのには変わらないですが。あとこの仕組みが流行ってるのもみんな環境構築にハマってるからでしょうなぁ。)やっぱり手数が多くて構築、メンテナンスを考えるとpythonで動いているrhodecodeの方が分がある気がします。

ただ、もともとgithubとは何ぞや?何が便利?という疑問にはまだ回答を得られていません。少しさわってみただけでは正直現状はソースの中身や履歴がWebから簡単に見えるぜウヒョヒョーってな位の理解でしかないので何が便利なのか皆目見当もつかず。WindowsでGUIのクライアント使っているのと比べたアドバンテージって何?って感じです。

いや、多分git等分散型になった事によって履歴を追う事、マージをする事が複雑になったのでそれをアシストする為に中央にこういうサービスを置いて情報を集約していかないとやっていけないという話なんだろうなと思うんですけどね。でもなんかシックリ来ない。運用のイメージをもっと固める必要がありそうです。


というわけで、もうすこしいじってみる、本家やgitoriousみたいなサービス提供しているものをアカウント作ってさわってみるのも必要かなと思っているのでどれを使うか、どう使うかの結論はもう少し後回しデス。

またissue/bug trackingとかwiki/forumみたいなものと絡められるの?とかプロジェクトを回すための環境という意味ではそういう部分までセットで考えるべきかなと思っているのでそちらの方も見ていきたいトコロ。

そういえばログインを共通化するOpenIDとかって仕組みがあったと思うんだけど複数のサービスをシームレスにつなげられる仕組みって無いのかなぁ。LDAPとかでIDだけが共通になっていてもイチイチログインし直しとか、画面またぐの面倒とか色々想像出来てしまうんだけど・・・多くを望みすぎ?