昨日の岡山Git勉強会 201408にて、GitBucketをいじって遊んでいました*1。
導入が簡単だとは聞いていたのですが、Azure上に作成したUbuntuでさくっと動きました。
1.GitBucket とは
GitBucketとはオープンソースで開発されている、GitHubのクローンです。 https://github.com/takezoe/gitbucket
ググるといろんな記事が出てくると思うので、GitBucket事態の詳細を知りたい方は探してみてください。
2.Azure上に仮想マシンを作成
Azureのポータルから仮想マシンを作成します。
ギャラリーからUbuntu Server 14.04 LTSを選び、適当にインスタンスを作成するだけでOK。
インスタンスのサイズは運用とかお好みに合わせて。インストールしてちょっと試すだけならとりあえず最少(Basic/A0)でも問題ないでしょう。
また、外部との通信を行わせるためのエンドポイントを設定しておきます。
GitBucketの通常のサイトのためのポート(80)の他に、gitリポジトリにSSH経由でアクセスさせるためのポートも作成しておきます。
3.SSHで接続
SSHクライアントから適当に接続します。私はWindowsなのでPuttyを使っています。
4.Open JDKをインストール
Java環境が必要なので、Open JDKをインストールします(この環境はGUIが無いので、openjdk-7-jre-headless
をインストール)。
sudo apt-get install openjdk-7-jre-headless
5.GitBucketのインストール
GitBucketのインストールはごく簡単で、公式のサイトから取得できるgitbucket.warをダウンロードして実行すれば、組み込みJettyで起動します。お試しや少人数で使うならこれだけでも十分な気がしますが、OS起動時に手動で起動するのもアレなのでrcスクリプトで起動するようにしてみました。
ついでに、必要なファイルは/home/gitbucket
というディレクトリを作成して配置、GitBucketの既定のフォルダにすることにしました*2。
まず、home配下にgitbucket ディレクトリを作成
cd /home sudo mkdir gitbucket -m 777 cd gitbucket
GitBucketのReleseからwarファイルをとってくる。 ※最新バージョンのパスは https://github.com/takezoe/gitbucket/releases から確認してください
wget https://github.com/takezoe/gitbucket/releases/download/2.2.1/gitbucket.war
次に、起動時に自動で起動するよう、/etc/rc.local を編集します。
まず、viで開き…
sudo vi /etc/rc.local
以下の一行を追記して保存します。
gitbucketのホームが/home/gitbucket
に、ポート番号が80
になるようにオプションを設定しておきます。
java -jar /home/gitbucket/gitbucket.war --gitbucket.home=/home/gitbucket --port=80&
こんな感じです。
記述が終わったら、再起動します。
sudo shutdown -r now
6.ブラウザでアクセス
再起動が終わった頃合いを見て、ブラウザでアクセスしてみます。 Azure管理ポータルの[ダッシュボード]タブの[DNS名]を確認し、ブラウザで以下のようにアクセスします(パブリックポートに80以外を指定した場合は、ポート番号も)。
http://<dns名>/
7.初回ログインとrootのプロファイル設定
ルートの既定のUsernameとPasswordはroot
です。
ログインしたら、Account Setttingsからプロファイル編集ページに入り、パスワード変更他、各種プロファイル設定を行っておきます。
8.SSH設定
SSHでgitリポジトリにアクセスできるように設定を行います。[Administrattion]-[System Settings]にて以下の設定を行います
まとめ
とくにはまるところもなく、さくっとできました。GitBucket、いいですね。 Azure上であれば冗長化なども設定一つなので、このまま実用も可能なんじゃないかと思います*4