Skip to content


FreeBSD GitBucket on jail(お手軽版)

以前にredmineでredmineを立ち上げて見ましたが、リポジトリの管理だけ出来ればあそこまでの必要は無いという用途も結構多いです。正直、GitHubで用が足りるという事ですが、もっと簡単にローカルのリポジトリを管理したいという様な用途にGitHubのクローン環境としてお手軽に設置出来るGitBucketを動かしてみました。

tomcatやjetty、glassfishを動かしてその中でGitBucketを動かしても良いのですが、せっかく簡単に立ち上げられるのが特徴のGitBucketを動かすためにtomcat環境とか作ってたら何かアンバランスな気がするので、リポジトリ専用にjailを立ち上げてそこで直接GitBucketを稼働させる事とした。

ということで、基本的な流れは

  1. リポジトリ専用jail環境の構築

  2. GitBucketのインストールと自動起動等の設定

の2段構えで以下に記述します。
jailを起こすところから始めても慣れれば10分程度で出来ます。
その際にGitBucketのリポジトリディレクトリをjailの中ではなくVIMAGEホストのディレクトリをマウントする事で、バックアップや世代管理等の運用が少しだけ楽になるように準備も行います。

 

1. リポジトリ専用jail環境の構築

 

VIMAG等の準備はFreeBSD 10.0でVIMAGEなjail(手抜き編)を参照。

(1) ezjailコマンドを使いjail名”repos”でjailを作成。

ezjail-adminコマンドを実行してjail “repos”をzfs上に作成する。アドレスの割り当ては後で/etc/jail.confにて指定するので適当な値で良い。(今回は10.0.0.1としてみた)

 

(2) /etc/jail.confに”repos”用の設定を追加。

jail “repos”の設定を以下の様に追加。
既に稼働しているjailがいる場合、2行目の数字は最後のif+1の値を指定すること。
アドレスは各自の環境に合わせて修正。

 

(3) jail “repos”起動時にGitBucketベースディレクトリがマウントされる用に/etc/fstab.reposを編集。

VIMAGEホストサーバ側にGitBucketの動作するベースディレクトリを作成し、用意したrepositoryディレクトリをjail “repos”でマウントして使う。

 

(4) VIMAGEホスト起動時にjail “repos”が立ち上がる様、/etc/rc.confを編集。

/etc/rc.confの”jail_list=”…””行に”repos”を追加する。
(“web”に”repos”を追加した例)

以上でjailを立ち上げる準備は完了。
以降はjail “repos”を立ち上げ、”repos”環境内で作業を行う。

 

2. GitBucketのインストールと自動起動等の設定

GitBucketは専用のgitbucketユーザとグループを作成して立ち上げる設定とします。

(1) gitbucketユーザー/グループの作成

(2) git, openjdkのインストール

pkgコマンドで一気に行きます。

※ 2016-06現在、gitbucket 4.1ではjava 8必須になっていますのでopenjdk8に変更しました。
(3) GitBucketの入手

リリース版GitBucketのwarファイルをこちらから入手する。
以下は最新版の”gitbucket.war”ボタンのリンクURLを控えて読み替えて下さい。
この記事作成時は”2.5″が最新版でした。
一緒にGitBucketのデータ運用などのために”data”ディレクトリを作成し、パーミッションの変更もしておきます。
GitBucketのバージョンアップはwarファイルを差し替えるだけですが、書き戻しも考慮してバージョン付きのファイル名として実行用にシンボリックリンクを張る運用としておきます。

fetchでダウンロード時にgithubのSSL CA局”DigiCert Inc”の確認が出来なくて以下の様なエラーが出る場合があります。

その場合は、以下の作業を行ってから再度fetchコマンドでダウンロードを行って下さい。

(4) gitbucket.conf, rc.d/gitbucketの作成

ローカル設定用の”gitbucket.conf”と起動用スクリプトの”rc.d/gitbucket”を/usr/local/etcの下にそれぞれ以下の内容で作成する。

 

 

 

(5) /etc/rc.confの修正

jail起動時からGitBucketが立ち上がる様に/etc/rc.confに以下を追加しておく。

(6) サービスの起動

手動でGitBucketサービスを起動する。

(7) ブラウザでアクセス

ブラウザで立ち上げた”http://192.168.1.30:8080″にアクセスし以下の様な画面が表示されたら成功。
管理ユーザーの初期Username/Passwordはroot/rootなので、とりあえずパスワードだけでも変更しておきましょう。

GitBucket
あとは初期の管理者ID:root、パスワード:rootでアクセスして利用可能。

(おまけ) 既存リポジトリからの移行

以前に立ち上げた手動管理のリポジトリがいくつかあるので、そちらをGitBucketに取り込む。

(1) GitBucketでリポジトリを作成する
(2) shell上でgitコマンドでローカルに移行元のクローンを付くって移行先にpush

Posted in FreeBSD.

Tagged with , .


0 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.



Some HTML is OK

or, reply to this post via trackback.