GitLab(ギットラボ)。ソフトウェア開発支援環境です。「GitHub」のようなサービスを社内などのクローズド環境に独自で構築できるGitリポジトリマネージャーです。Gitベースのソースコード管理機能、マージリクエスト、レビュー機能なども備えています。

オープンソースのプロジェクト管理/GitLabとは

GitLab(ギットラボ)。ソフトウェア開発支援環境です。「GitHub」のようなサービスを社内などのクローズド環境に独自で構築できるGitリポジトリマネージャーです。Gitベースのソースコード管理機能、マージリクエスト、レビュー機能なども備えています。

GitLab(ギットラボ)とは、ソフトウェア開発支援環境です。「GitHub」のようなサービスを社内などのクローズド環境に独自で構築できるGitリポジトリマネージャーです。Gitベースのソースコード管理機能、マージリクエスト、レビュー機能なども備えています。

目次

「GitLab」基本情報

  • 概要
  • 主な特徴
  • 同様製品
  • 導入事例
  • ライセンス情報
  • ダウンロード

「GitLab」参考情報---①GitLabの環境別インストール

  • GitLabオフィシャルサイトドキュメント「GitLab Installation」
  • Linux(Ubuntu)編
  • Windows編
  • Mac編
  • Docker編
  • AWS(EC2)編

「GitLab」参考情報---②GitLabとGitHubの違い

  • GitLabの主な機能についてGitHubとの比較
  • GitLabの「開発手法」「最近の動向」「今後の方向性」
  • GitLab導入事例(ぐるなび編) なぜGitHubではなくGitLabを選択したのか?
  • GitLab導入事例(ピクシブ編) 「GitLab」と「GitHub Organization」での運用

「GitLab」参考情報---③GitLabの使い方

  • GitLab使用方法の基本
  • GitやGitLabで使用される用語説明
  • GitLabでの「リポジトリ作成」「ユーザ管理」
  • GitLabを利用した開発を行うための「運用方法」と「設定手順」
  • GitLabの使用方法(詳細版)

「GitLab」参考情報---④GitLabでのAPIの使い方

  • オフィシャルサイトドキュメント「GitLab API」
  • GitLabでの「Personal Access Token」の発行(登録)方法
  • 【使用例】プロジェクト一覧取得
  • 【使用例】ユーザー登録
  • 【使用例】グループ内の全レポジトリをClone
  • 【使用例】GitLabからChatWorkへの通知

「GitLab」参考情報---⑤「GitLab CI」とは

  • 「GitLab CI」とは?
  • 「GitLab CI」と「Jenkins」の違い
  • 「GitLab CI」の環境構築方法
  • 【使用例】PHPユニットテスト
  • 【使用例】Sphinxドキュメントを自動でPDFにビルド

TOPに戻る

「GitLab」基本情報

概要

基本説明

GitLabを導入したサーバでGitリポジトリを集中管理します。ローカルで管理できるため、コスト/セキュリティの観点でGitHubを使えない企業から注目を集めています。

GitLabは、無償オープンソース版「Community Edition」と、サポート付き有料版「Enterprise Edition」も提供されています。

主な特徴

プロジェクト

GitLabでは、1つのリポジトリを1つのプロジェクトとして扱います。そこに「Issues」や「マージリクエスト」が紐づく構成です。プロジェクトには公開レベル設定できます。主要なリポジトリ管理サービスからのインポート機能も備わっています。

ユーザ/グループ管理

ユーザ/グループにはそれぞれ名前空間が設定されます。各種アクセス権限を設定できます。

リポジトリ管理機能

ブラウザ上で、リポジトリ作成/ユーザ管理/コミット管理/ブランチ管理/フォーク/プルリクエストなどの処理を行えます。

課題管理機能「Issues」

「Issue」とは、プロジェクト/ソースコードの課題管理機能です。「課題」と「ソースコード/マージリクエスト/変更履歴など」をリンクさせて管理でき、情報の一元化が可能です。タグ(ラベル)設定で簡潔に管理できます。

コードレビュー機能

push時にも「Issue」と「マージリクエスト」の紐付けができます。差分を一目で把握でき、コードに対してコメントできます。

マージリクエスト機能

「Issues」と同じようにタイトル/概要/担当者などを入力します。その後、レビュー担当者がコード差分確認/コメントをして、レビューが通ればマージをして完了します。

Wiki機能

リポジトリに関するドキュメントをまとめて管理できます。

マイルストン機能

各種締め切りの設定/管理を行えます。

GitLab CI

継続的インテグレーションツールも搭載されています。

フック機能

プロジェクト/システムの両方に対してフック対応しています。該当イベントが発生した時、GitLabサーバはJSONデータを使って「HTTP POSTリクエスト」を発行します。Gitリポジトリ(GitLab)を、開発自動化ツール(CIサービス/チャットサービス/デプロイ用ツール)などと連携できます。

認証連携機能

LDAPなどの認証機構との連携も可能なため、大規模環境でも利用できます。

クラウド対応

GitLabはローカルサーバに構築できますが、クラウド環境(AWS/Google Cloud Platformなど)にも構築できます。クラウドサービスごとに、インスタンスイメージ(インスタンステンプレート)が用意されています。

ドキュメントが充実

各種インストール方法などのドキュメントが充実しています。

同様製品

同様な機能を提供する製品として、次のようなものがあります。

オープンソース製品:「gitorious」「GitBucket」「Redmine」「Trac」など。

導入事例

多くの開発現場で活用されています。

ライセンス情報

GitLabのライセンスは「MIT License」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。

ダウンロード

ダウンロードページ

TOPに戻る

「GitLab」参考情報---①GitLabの環境別インストール

GitLabのインストールに関する情報についてまとめられているサイトを紹介します。

GitLabオフィシャルサイトドキュメント「GitLab Installation」

ポイント

オフィシャルサイトのインストールドキュメントです。

各種OS/環境用インストールパッケージを利用できます。

テーマ
  • Omnibus package installation (recommended)
  • →Ubuntu
  • →Debian
  • →CentOS 6
  • →CentOS 7
  • →OpenSUSE 42.2
  • →Raspberry Pi 2
  • Other official installation methods
  • →Docker
  • →Kubernetes
  • →Google Cloud Platform
  • →RedHat OpenShift
  • →Amazon Web Services (AWS)
  • →Microsoft Azure
  • →Mesosphere DC/OS
  • →GitLab Omnibus Cookbook
  • →GitLab Runner
  • →Installation from source
  • →Update GitLab
  • →GitLab Development Kit
  • →GitLab.com
  • Community contributed
ページリンク

→GitLab →Install(GitLab Installation)

Linux(Ubuntu)編

ポイント

「Ubuntu 16.04 LTS Server x64」に「GitLab CE」のOmnibus packageをインストールする方法についてまとめられています。

テーマ
  • インストールの前に
  • →インストール方法の選択
  • →インストール要件
  • インストール
  • →GitLab CE のインストール
  • →GitLab Mattermost の有効化
  • →GitLab Container Registry の有効化
  • 最後に
  • おまけ
  • →名前
  • →アップグレード
ページリンク

→Qiita →GitLab をインストールしよう! (omnibus package)

Windows編

ポイント

ビルド環境のあるWindowsマシンに「GitLab Runner」を設置することでWindows版CI用Runnerを構築する方法についてまとめられています。

「GitLab Runner」とは、GitLab本体とは分離し、別マシン/コンテナに配置して、GitLabとGitLab Runner間はAPIで通信するツールです。

テーマ
  • Install
  • Setup
ページリンク

→もくもくブログ →GitLab CIならWindowsでのCIも簡単

Mac編

ポイント

「GitLab Runner」を利用して、Mac環境にGitLabをインストールする方法についてまとめられています。

手こずったポイントなどについてもまとめており、参考にできます。

テーマ
  • 最小コマンド
  • 手こずったMac
  • →インストール
  • →コマンドが入ったことを確認
  • →サービスが起動しているか確認
  • →サービスインストール
  • →サービス起動
  • →いつも通りに登録
  • →gitlab-runner のバージョンアップ
  • →やっぱりコマンドだけでは動かない
  • →OSもアップグレードしてSierraへ
  • 関連
ページリンク

→Qiita →GitlabでCI Mac編

Docker編

ポイント

Dockerを利用したGitLabのインストール方法についてまとめられています。

テーマ
  • 急に使いたくなった
  • 日本語化
  • Gitlab(docker)
  • →イメージ作成
  • →→イメージビルド
  • →redis-server実行
  • →データベース初期化
  • →→既存データの置き場所
  • イメージ実行
  • →起動後
  • →正常起動
  • →管理者でサインイン
  • →サインイン後
  • →設定
  • →完了
ページリンク

→Qiita →Gitlab日本語化(docker)インストール

AWS(EC2)編

ポイント

「Amazon EC2」上の「Amazon Linux」にGitLabをインストールする方法についてまとめられています。

テーマ
  • 1)必要な依存ライブラリのインストールと設定
  • 2)GitLab のインストール
  • 3)GitLab の設定と開始
  • 4)GitLab へログイン
ページリンク

→システム開発を好きになる。 →AWS EC2 に GitLab をインストールする

TOPに戻る

「GitLab」参考情報---②GitLabとGitHubの違い

GitLabの「Community Edition」を使用すると、自前のサーバに構築することが可能です。

両者とも同様なホスティング機能を利用できる、「GitLab(Community Edition)」と、クラウドサービス「GitHub」の違いについてまとめられているサイトを紹介します。

GitLabの主な機能についてGitHubとの比較

ポイント

GitLabの主な機能について、GitHubと比較する形で、解説されています。

テーマ
  • GitLabとは
  • サーバーにGitLabを構築する
  • セットアップ
  • Issues機能を活用する
  • Merge Request機能を使う
  • Wikiでのドキュメント作成や、CIも充実
ページリンク

→SELEK →GitLabとは

GitLabの「開発手法」「最近の動向」「今後の方向性」

ポイント

競合サービスである「GitHub」との比較を交えながら、GitLabの「開発手法」「最近の動向」「今後の方向性」について解説されています。

テーマ
  • GitLabとは
  • GitHubとの違い
  • GitLab自体の開発のされ方
  • 最近の動向
  • 今後の方向性
  • まとめ
ページリンク

→gihyo.jp →GitLabのこれまでとこれから

GitLab導入事例(ぐるなび編) なぜGitHubではなくGitLabを選択したのか?

ポイント

「ぐるなび」がホスティング機能として、「GitHub Enterprise」や「Atlassian Stash」ではなく、「GitLab Community Edition」を選択した理由について解説されています。

テーマ
  • GitLab前史
  • ホスティングサービス候補は3つ
  • →1. GitHub Enterprise
  • →2. Atlassian Stash
  • →3. GitLab Community Edition
  • 選定基準
  • →いくつかの基準で比較する
  • →いったんGitLab Community Editionを選択
  • 運用してみてよかったこと
  • →1. OSSのため自分で問題箇所を改修できる
  • →2. rootで慣れ親しんだコマンドでシステムを運用・管理できる
  • →3. データストレージをNASにできる
  • →4. 利用ユーザが増えても運用コストを心配せずにすむ
  • 運用してみて困ったこと
  • →1. Merge Requestをうけてマージしたときのトラブル
  • →2. Merge Requestが重かった
  • →3. ソース改修は自己責任・問題は自己解決
  • おわりに
ページリンク

→ぐるなびをちょっと良くするエンジニアブログ →なぜぐるなびはGitLabを選択したか

GitLab導入事例(ピクシブ編) 「GitLab」と「GitHub Organization」での運用

ポイント

「GitLab」と「GitHub Organization」の2つの方法でソースコードを管理しているピクシブの運用方法についてまとめられています。

それぞれのメリット/デメリットなどについて参照できます。

テーマ
  • GitLabとGitHub
  • →GitLabのメリット
  • →GitLabのデメリット
  • →GitHub Organizationのメリット
  • →GitHub Organizationのデメリット
  • GitLab上のユーザー権限について
  • GitLabの認証
  • 外からも使いたい
  • →gateを使って手軽に認証を導入する
  • →gate第二弾 〜流れるログが見たい〜
  • →oauth2_proxyとNginxのauth_requestを組み合わせると便利
  • GitLabの前段にGoogle認証を挟む
  • バージョンアップについて
  • まとめ
ページリンク

→pixiv inside →GitLabの運用方法をドーンと公開!!

TOPに戻る

「GitLab」参考情報---③GitLabの使い方

GitLabの使い方に関する情報についてまとめられているサイトを紹介します。

GitLab使用方法の基本

ポイント

GitLabの使用方法の基本について紹介されています。

テーマ
  • はじめに
  • GitLabとは
  • GitLabできること
  • →リポジトリ管理機能
  • →Issue管理
  • →コードレビュー
  • 使い方
  • →1.git にあがっている既存リポジトリを自分のローカルにコピー
  • →2.変更内容をとりこむ
  • →3.ブランチを切る
  • →4.開発完了
  • →5.コードの差分を見たいときは
  • →6.コードの差分をインデックスに登録
  • →7.コミット
  • →8.プッシュ
ページリンク

→Qiita →gitlabのはなし

GitやGitLabで使用される用語説明

ポイント

GitやGitLabで使用される各種用語について解説されています。

テーマ
  • 共有リポジトリとは
  • Gitとは
  • Git用語について
  • →commit(保存)
  • →clone(コピー)
  • →branch(オブジェクトの集まり)
  • →checkout(切り替え)
  • →push(反映)
  • →pull(取り込み)
  • Gitlabとは
  • GitLabを使ってgitコマンドを駆使する
  • →1.鍵の作り方/.sshのconfig追加
  • →2.gitlab.pub(公開鍵)を貼り付け
  • →3.新規にプロジェクトを作成
  • そのほかのGitコマンド(少し紹介)
  • →gitの状況確認
  • →ローカルに追加した使わなくなったファイルを一括消去
  • →よく使うgitコマンド
ページリンク

→ADACHIN SERVER Lab →gitコマンドとGitLabさんの使い方

GitLabでの「リポジトリ作成」「ユーザ管理」

ポイント

GitLabでの「リポジトリ作成」「ユーザ管理」について説明されています。

テーマ
  • 1 新規Groupを作る
  • →1.1 作成したGroupへのユーザ追加
  • 2 新規にGitプロジェクトを作る
  • 3 プロジェクトにGitリポジトリを登録する
  • →3.1 空のリポジトリから作成する
  • →3.2 既存のディレクトリをGitリポジトリにする
ページリンク

→Gitの使い方講座 →Gitlabでのプロジェクト運営(リポジトリ作成やユーザ管理)

GitLabを利用した開発を行うための「運用方法」と「設定手順」

ポイント

GitLabを利用した開発を行うための「運用方法」と「設定手順」などについて解説されています。

テーマ
  • はじめに
  • →やりたいこと
  • →Groupについて
  • →権限について
  • →メンバー登録運用フローについて
  • →GitHubフローについて
  • →各担当者ができること(最終形)
  • 具体的な作業手順
  • ■システム管理者がやること
  • →(1) ユーザ作成
  • →(2) Group作成
  • →(3) GroupにPJ案件管理者の追加
  • ■PJ案件管理者(PM)がやること
  • →(1) リポジトリ作成
  • →(2) masterブランチ作成(README.mdの追加)
  • →(3) developブランチの作成
  • →(4) デフォルトブランチの変更
  • →(5) ブランチの保護
  • →(6) リポジトリへのメンバーの追加(その1)
  • →(7) リポジトリへのメンバーの追加(その2)
  • →(8)その他
  • さいごに
ページリンク

→Qiita →GitLab運用方法と設定手順について

GitLabの使用方法(詳細版)

ポイント

「Git」および「GitLab」の使用方法について、詳細にまとめられています。

テーマ
  • 1.Gitとは
  • →用語の説明
  • 2.前提とする構成
  • 3.gitlabサーバへログイン
  • 4.ユーザ名とメールアドレスの設定
  • 5.プロジェクト開始時の作業
  • →gitlab上でプロジェクトを作る
  • →gitlabサーバ上の空のレポジトリを複製(clone)する
  • →ソースツリーを準備する
  • →ソースツリーをレポジトリに加える(add)
  • →追加されたファイルをコミット(commit)
  • →コミットした変更を別のマシン(gitlabサーバ)へ送り込む(push)
  • →他のメンバーがレポジトリを複製する
  • 6.日常繰り返される作業
  • →手元のレポジトリ内で普通にファイルを編集する
  • →切りのいいところでコミットする
  • →コミット結果をgitlabサーバに送り込む
  • →他のメンバーがpushした変更を取り込む
  • 7.衝突(conflict)を理解する
  • →衝突はいつ「判明」するか
  • →ケース1: push時の衝突
  • →ケース2: pull時の衝突, かつBがcommitする以前の変更と衝突
  • →ケース2: pull時の衝突, かつBがcommitした変更と衝突
  • 8.これだけは,というコマンドまとめ
  • 9.SSHキーの登録方法
  • 10.もう少し進んだ使い方
ページリンク

→大規模ソフトウェアを手探る →Git/gitlabで共同作業をするための最小限の知識

TOPに戻る

「GitLab」参考情報---④GitLabでのAPIの使い方

GitLabでのAPIの使い方に関する情報についてまとめられているサイトを紹介します。

オフィシャルサイトドキュメント「GitLab API」

ポイント

GitLab(CommunityEdition)のAPIドキュメントです。

テーマ
  • Resources
  • Road to GraphQL
  • Basic usage
  • Authentication
  • Status codes
  • Pagination
  • Namespaced path encoding
  • Branches & tags name encoding
  • id vs iid
  • Data validation and error reporting
  • Unknown route
  • Clients
ページリンク

→GitLab Documentation →GitLab API

GitLabでの「Personal Access Token」の発行(登録)方法

ポイント

GitLabにおいてAPIを使用するために必要な認証処理である「Personal Access Tokenの発行と登録」についてまとめられています。

テーマ
  • 1. プロジェクト構成
  • 2. Personal Access Tokenの発行と登録
  • 3. HTTPリクエスト作成スクリプト
  • GitLab CI Runner から GitLab API を利用する際の注意点
ページリンク

→HEXA DRIVE →GitLab APIの紹介

【使用例】プロジェクト一覧取得

ポイント

GitLabにAPIで接続してプロジェクト一覧を取得するサンプルコードについて紹介されています。

テーマ
  • GitLab APIに繋いでみよう
  • →プロジェクト一覧を取得しよう
  • →続いてissueの一覧
ページリンク

→Qiita →GitLab API

【使用例】ユーザー登録

ポイント

APIを使用して、ユーザー登録を行う方法についてまとめられています。

テーマ
  • GitLab の API をコマンドラインで叩けるツール。
  • Install
  • Config
  • User creation
  • User modification
ページリンク

→Hatena Blog →basyura's blog →GitLab - コマンドラインから API を叩いてユーザを登録する

【使用例】グループ内の全レポジトリをClone

ポイント

GitLab APIの「gitlab gem」を使用するサンプルコードについて紹介されています。

機能

  • 1.あるグループに所属する全員のレポジトリーの一覧を表示
  • 2.そのリポジトリをアクセスするために自分のアカウントを管理者として登録
  • 3.全リポジトリーをcloneする
ページリンク

→Hatena Blog →yuumi3のお仕事日記 →GitLab API (gitlab gem)を使ってみました

【使用例】GitLabからChatWorkへの通知

ポイント

APIを利用して「GitLabのwebhookを受けてChatWorkに通知するアプリ」を作成した手順についてまとめられています。

テーマ
  • ゴール
  • gitlabのwebhookを受けてChatWorkに通知するアプリを作る
  • gitlabのwebhookをJenkinsで受けてChatWorkに通知
  • fluentdを使ってみることにした
  • インストール
  • fluent-plugin-out_chatwork を作った
  • webhookを受けるためのnginx設定
  • 実際に設定してみた
  • fluentd所感
  • 追記
  • →Gitlab Webhookのつらみ
  • →ChatWork APIのつらみ
ページリンク

→Hatena Blog →くりにっき →fluentd初心者がgitlabとChatWorkを連携してみた

TOPに戻る

「GitLab」参考情報---⑤「GitLab CI」とは

「GitLab CI」とは、Jenkinsと同様な、オープンソースの継続的インテグレーションツールです。

「GitLab CI」に関する情報についてまとめられているサイトを紹介します。

「GitLab CI」とは?

ポイント

「GitLab CI」の概要についてまとめられています。

テーマ
  • 概要
  • GitLab CIとは?
  • 動作要件(2014/06/30時点)
  • →正式にサポートしているOS
  • →その他のソフトウェア要件
  • →ハードウェア要件
  • 特徴
  • CI ランナー
  • アーキテクチャ
  • インストール
ページリンク

→Qiita →GitLab CIとは?

「GitLab CI」と「Jenkins」の違い

ポイント

「GitLab CI」と「Jenkins」の比較についてまとめられています。

テーマ
  • 紹介
  • Gitlab CIとJenkinsの比較
  • →ジョブの定義場所
  • →ジョブフローの作り方
  • →ジョブの起動トリガー
  • →プラグインによる拡張
  • →ジョブの時系列的な集計
  • まとめ
ページリンク

→Qiita →GitLab CIとJenkinsの違いについて

「GitLab CI」の環境構築方法

ポイント

「GitLab CI」の環境構築方法についてまとめられています。

テーマ
  • GitLabとGitLab CI
  • ちょっとしたお話
  • 使う計算機資源
  • 環境構築の流れ
  • 環境構築
  • GitLabのインストール
  • GitLab CI Runnerのインストールと登録
  • CI Runnerについて
  • インストール
  • ServerへRunnerを登録
  • →RunnerのRegister時の入力項目
  • CIしてみる
  • 仕事を楽にするのに活かす
  • Merge Accept予約
  • 自動デプロイ
  • 最後に
ページリンク

→Qiita →GitLab CIを使って仕事で楽をする

【使用例】PHPユニットテスト

ポイント

「GitLab CI」を使用して、PHPユニットテストを行う方法についてまとめられています。

テーマ
  • PHPユニットテストを実施する
  • →手順1:テストを作成する
  • →手順2:.gitlab-ci.ymlを作成する
  • →手順3:テストを実施する
ページリンク

→bitWave →GitLab-CIを試してみた ~その2:ユニットテスト編

【使用例】Sphinxドキュメントを自動でPDFにビルド

ポイント

「GitLab CI」を使用して、Sphinxドキュメントを自動でPDFにビルドする方法についてまとめられています。

ページリンク

→Hatena Blog →once upon a time, →Gitlab CIを使ってSphinxのドキュメントを自動でPDFにビルドする

TOPに戻る

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

GitLab最新CLOSEUPコラム

イベント情報

無料資料プレゼント

AI技術の方向性と企業の活用シナリオ

講演資料を見るには、 プライバシーポリシーに同意して、送付先メールアドレスをご入力しご請求ください。

またご入力いただきました情報は、当該資料の作成・提供企業とも共有させていただき、当社及び各社のサービス、製品、セミナー、イベントなどのご案内に使用させていただきます。

本資料を見るには次の画面でアンケートに回答していただく必要があります。



  • 20171130-netapp サイド
  • OSSNEWSに広告を掲載しませんか?

facebook

twitter