- コラボレーター
- 加留部 有哉
GitHubライクな機能が備わったOSS「GitLab」とは?【GitHub入門】【第5回】
これまで過去5回、GitHubの入門記事を配信してきました。いろいろと便利な機能があるGitHubですが、クラウドサービスの使用に制限がかけられている企業も、少なくないと思います。そのような会社のために(?)、GitHubライクな機能を兼ね揃えた「GitLab(ギットラボ)」というOSSがあります。今回は、その活用方法をご紹介します。
▼目次
- GitLabとは
- サーバーにGitLabを構築する
- セットアップ
- Issues機能を活用する
- Merge Request機能を使う
- Wikiでのドキュメント作成や、CIも充実
▼このシリーズの記事一覧
- チーム開発を変える「GitHub」とは?導入方法・使い方を徹底解説!【第1回】【導入編】
- チーム開発を変える「GitHub」とは?〜Pull Requestの使い方〜【連載第2回】
- チーム開発を変える「GitHub」とは?〜Issuesの使い方〜【連載第3回】
- チーム開発を変える「GitHub」とは?〜Organizationとアクセス管理〜【連載第4回】
- チーム開発を変える「GitHub」とは?〜ZenHubでカンバンを使う〜【番外編】
- GitHubライクな機能が備わったOSS「GitLab」とは?【GitHub入門】【第5回】
- GitHubがより便利になる使い方、ショートカット・Trending・gitterを解説【連載第6回】
- GitHub Enterprise、GitLab、BitBucket。GitHubライクなサービス3つの特徴を紹介【連載第7回】
GitLabとは
GitLabはGitHubと同様に、Gitベースのソースコード管理機能や、マージリクエストによるレビュー機能を備えたサービスです。OSSを自前のサーバーに構築するCommunity Editionという無料プランもあり、コストやセキュリティの観点でGitHubを使えない企業から注目を集めています。
サポートが受けられる有料のEnterprise Editionもありますが、今回はCommunity Editionの使い方を見ていきましょう!
サーバーにGitLabを構築する
GitLabはもちろんAWSやGoogle Cloud Platformといったクラウド環境に構築することも可能です。クラウドサービス毎に、インスタンスイメージ(インストールまで完了しているインスタンスのテンプレート)があります。
また、公式ページには詳細なインストール手順が公開されています。英語ですが、手順通りにコマンドを実行するだけで、インスタンスイメージを使わなくても、なんとなく構築できます。
▼詳細なインストール手順も公開
公式ページによると、AWSで構築する場合のEC2インスタンスサイズはc4.largeが推奨のようです。2016年6月現在の価格で$0.105 /1hなので、月$72ほど。地味に高いですね…。もう少し小さいサイズでも動きそうな気はするのですが、まあ最大でもそれくらいのコストということを頭に入れておきましょう。
本来であれば安全なストーレジを使うことを考えたり(ソースコードが消えてしまっては…)と考慮が必要です。ですが、まずは「このサービスが自分たちに合っているか?」を考えるためにも、サクッと構築するのが良いでしょう。
セットアップ
インストールが完了し、最初にアクセスすると、まずはadminのパスワード変更を求められます。
adminの新規パスワードを入力すると、次はユーザー登録です。
これでセットアップは完了です!登録に成功すると、GitLabのトップ画面が表示されているはずです。ここからは、実際にどういった機能があるのかを、確認してきましょう。
Issues機能を活用する
まずはProjectを作成します。GitLabでは1つのリポジトリを1つのプロジェクトとして扱っていて、そこに「Issues」や「マージリクエスト」が紐づくような構成です。リポジトリの作成画面を見ると分かるように、GitHubやBitbucketといった主要なリポジトリ管理サービスからのインポート機能は備わっています。
GitLabには、Issues(イシュー)機能があります。GitHubのIssues機能について紹介した記事で書いていることが、ほとんどが実現できます。プロジェクトが作成できたら、早速Issuesを使ってみましょう。
サイドバーから[Issues]を選択し、[New Issue]をクリックします。Issuesの画面でタイトル、概要を入力します。これもGitHubと同様に、アサインする人を決めたり、ラベルを付けることができます。
Issuesにはコメントをつけたり、絵文字でリアクションができます。また、後に説明するマージリクエストのURLをコメントに貼ると、自動的にIDに変換して表示してくれたりもします。
Merge Request機能を使う
GitHubでは、Pull Requestという機能が企業でも、OSSの世界でも広く使われています。Pull Requestはソースコードのレビューを効率化し、CI(継続的インテグレーション)の実現のためにも重要な機能です。それと同等の機能を提供しているのが、GitLabのMerge Request(マージリクエスト)です。
(Pull RequestよりもMerge Requestの方が分かりやすい名前ですよね…)
Merge Requestを作るには、あるブランチから派生した新しいブランチが必要です。通常gitを開発で使っている場合は、コンソールやクライアントアプリからブランチを作成しますが、GitLabではWebUI上で簡単にブランチを作ることもできます。
修正の入ったブランチが準備できたら、[Merge Request]の画面から[New Merge Request]を選択します。ここでもIssuesと同じようにタイトルや概要、担当者といったものを入力します。
あとはレビューの担当者がコードの差分を確認し、コメントをして、レビューが通ればマージをして完了です。
Wikiでのドキュメント作成や、CIも充実
GitLabには他にも、リポジトリに関するドキュメントをまとめるWiki(ウィキ)機能や、締め切りを管理するMilestone(マイルストン)機能など、開発に必要な機能は一通り揃っています。
また、GitLab CIというCIサービスもあり、モダンなCI環境も構築できます。GitHubと比較しても、機能的に遜色のないGItLab。SELECKにある活用事例も参考にしながら、一度活用してみてはいかがでしょうか。
コードレビューをすることで、当たり前なのですがコード規約や正しい文法に沿った書き方だとか、そういったことを全員が意識するようになりましたね。人にコードを見られることで、気が引き締まりました。
同じ機能でも短く書けたり、パフォーマンスが良かったり、そういったひとつ上の視点からのレビューを貰えるようになって、自分自身も成長したと思います。
▼このシリーズの記事一覧
- チーム開発を変える「GitHub」とは?導入方法・使い方を徹底解説!【第1回】【導入編】
- チーム開発を変える「GitHub」とは?〜Pull Requestの使い方〜【連載第2回】
- チーム開発を変える「GitHub」とは?〜Issuesの使い方〜【連載第3回】
- チーム開発を変える「GitHub」とは?〜Organizationとアクセス管理〜【連載第4回】
- チーム開発を変える「GitHub」とは?〜ZenHubでカンバンを使う〜【番外編】
- GitHubライクな機能が備わったOSS「GitLab」とは?【GitHub入門】【第5回】
- GitHubがより便利になる使い方、ショートカット・Trending・gitterを解説【連載第6回】
- GitHub Enterprise、GitLab、BitBucket。GitHubライクなサービス3つの特徴を紹介【連載第7回】
ITツール好きのあなたには、次世代マネジメントbotもオススメ
当媒体SELECKでは、これまで500社以上の課題解決の事例を発信してきました。
その取材を通して、目標を達成し続けるチームは「振り返りからの改善が習慣化している」という傾向を発見しました。
そこで「振り返りからの改善」をbotがサポートする「Wistant(ウィスタント)」というツールを開発しました。
「目標達成するチーム」を作りたいとお考えの経営者・マネージャーの方は、ぜひ、チェックしてみてください。