IDCF クラウドに GitLab サーバを立ててみた(Debian 7.8 / GitLab 7.10.1編)


2016/12/29 編集
現在リリースされているバージョンでは、GitLab 初期パスワードの設定が異なります。


この記事は「抽選でスターバックスギフトカードプレゼント【IDCFからの宿題第2弾】」に参加しています。

目的

GitLab を使うことで、Git サーバーを設置できます。
Git サーバーで有名なのは、GitHub だと思いますが、こちらは公開が前提なので、公開したくない場合は候補から外れてしまいます。
(プライベート利用が可能な有料プランもありますが、それは置いといて。)

この記事では、宿題のお題である、GitLab のインストールと活用術の紹介を行います。
ここでは使いやすくて、パワフル、さらに一ヶ月500円から始められる IDCFクラウドを利用した方法を紹介します。
http://www.idcf.jp/cloud

仮想マシンの作成

IDCFクラウドの契約や一般的な設定については、めちゃ楽ガイド(PDF)を参考にしてください。

今回は IDCF クラウドのブログの通り書いても面白くないので、CentOS ではなく Debian を使用します。

  • マシンタイプ:light.S1 (1 CPU 0.8GHz、1GB RAM)
  • イメージ:Debian 7.8.0 64-bit
  • ボリューム:テンプレート標準のルートディスク 15GB のみ

これで月額500円(税抜)です。

めちゃ楽ガイド(PDF)を参考に SSH で接続できるよう設定し、接続を確認します。

[H27.05.09] IDCF Cloud SSH

IDCFクラウドのテンプレートでインストールすると、このように IDC Frontier と表示されるんですね。

インストール直後なので、パッケージの更新も行います。

apt-get update
apt-get upgrade

スワップファイルの作成

GitLab Documentation の Requirements によると、1GB のメモリの場合 1GB のスワップ領域があればいいようです。
ディスク容量には余裕があるので、1.5GB 作成します。

今回は、IDCFクラウドのブログでも紹介されているブログ記事に従い、/etc/rc.local に以下の内容を追加し、再起動しました。

SWAPFILENAME=/swap.img
SIZE=1572864k
fallocate -l $SIZE $SWAPFILENAME && mkswap $SWAPFILENAME && swapon $SWAPFILENAME

参考:Amazon EC2 や IDCF クラウド上でスワップ領域を確保する(まだプログラマーですが何か?)

GitLab のインストール

GitLab のダウンロードとインストールを行います。

Download GitLab Community Edition (CE)

sudo apt-get install openssh-server ca-certificates postfix

このように書いていますが、postfix のみインストールされます。
今回はNo Configurationを設定しましたが、実際に運用する場合はちゃんと設定してください。

wget https://downloads-packages.s3.amazonaws.com/debian-7.8/gitlab-ce_7.10.1~omnibus.2-1_amd64.deb
sudo dpkg -i gitlab-ce_7.10.1~omnibus.2-1_amd64.deb
sudo gitlab-ctl reconfigure

今回はドメインを利用してアクセスしていますが、IP アドレスを入力してもかまいません。
このようなログイン画面が表示されたらOK。

[H27.05.09] GitLab Login

初期パスワードを入力します。

  • Username: root
  • Password: 5iveL!fe

GitLabの設定

設定ファイルの書き換えを行います。
設定ファイルの /etc/gitlab/gitlab.rb の下記の部分を、ドメインやIPアドレスに変更してください。

external_url "http://(マシン名).cse0idcfcloud.internal"

設定変更後は

gitlab-ctl reconfigure

で反映されるようです。

手元のファイルを GitLab で管理してみました。

[H27.05.09] IDCF Cloud Commits

こんな感じです。

応用1:セキュリティ

GitLab はどこでもアクセスできるので、自宅や会社だけでなく、外出先でも利用できます。

一般公開する予定のない GitLab であれば、パスワードが必要といっても、不特定多数にポート 80 を公開する必要もありません。

特定の IP アドレスからしかアクセスしないとわかっている場合、IDCF クラウドのファイアーウォール機能で制限するのが便利です。

IP アドレスが頻繁に変化する場合や、外出先でアクセスしたい場合は、ポートの変更をしておくとよいでしょう。
スターバックスには無料の Wi-Fi が提供されているので、カフェなどでも作業できますね。

先ほど紹介した /etc/gitlab/gitlab.rb の下記の部分はポート番号の設定も可能です。たとえばポート 12345 なら

external_url "http://(マシン名).cse0idcfcloud.internal:12345"

のように設定できます。

参考:GitLab の HTTP ポート番号を変更する(EZ-NET)

応用2:公開範囲の設定

プロジェクトごとに公開範囲が設定できます。

  • Public : ログインしなくても表示可能
  • Internal:ログインしているユーザーならだれでも表示可能
  • Private:プロジェクトの設定にある Members に追加したメンバーのみアクセス可能

実際に編集権限のあるユーザーの設定は Members の画面で設定しますが、これも Guest、Reporter、Developer、Master から選択できます。

応用3:グループウェアとして利用?

ちょっと変わった使い方として紹介します。

特定のグループで利用する場合、空のプロジェクトを作成し、Wiki を利用したり、Issues を掲示板機能として使うことでグループウェアとしても利用できるのではと思いました。

[H27.05.09] GitLab Issues

Issues はファイルの添付もできます。画像はこのように表示されます。

スケジュール管理機能はないので、タイトルに?をつけておきました。

応用4:論文での利用

私は大学院生なので、最後は学生らしい使い方を紹介します。

執筆中の論文を一般公開する人はいないと思いますが、GitLab なら非公開なのでピッタリです。

  1. 研究室の学生と教員のみを登録した研究室用の GitLab を作成
  2. Tex で書いた論文を GitLab に Push。このとき PDF も入れておくとチェックしやすい。
  3. 学生 or 先生に添削してもらう。指摘があれば Issues に書いておく。
  4. 添削結果を見て、論文を修正して再 Push。 3 に戻る。
  5. 変更点が分かりやすい!

Word で書いている論文は、5のメリットはないですが、それでも便利かと思います。
論文のバージョン管理を実践することで、直した後に「やっぱり前のほうがよかった」と言われたときに対応しやすくなります。

これなら、研究室内の Linux サーバーにインストールすれば?という話にもなりますが、次のメリットがあります。

  • IDCF クラウドなら、自宅や出張先でもアクセスできる
  • (私の所属する研究室のように)全部 Windows 環境で Linux サーバーはない環境でも構築可能

考えられる課題も紹介しておきます。

  • クラウドを使う場合、予算が下りるか
    (IDCF クラウドなら口座振替もできますが)
  • 全員が Git の使い方を知る必要がある
    (私の研究室の場合半分くらいのメンバーは使ってない)
  • これについては実践していないので、うまくいくかは不明

Comments

comments

5 Replies to “IDCF クラウドに GitLab サーバを立ててみた(Debian 7.8 / GitLab 7.10.1編)”

コメントを残す

メールアドレスが公開されることはありません。

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)