オープンソース

GitLab〜Dockerのプロジェクト管理とレジストリ〜

GitLabとは

GitLabは、ウェブ型のGitリポジトリマネージャーです。GitLabには、Dockerコンテナのプライベートレジストリとして使用できるコンテナレジストリ機能や、プロジェクト計画、ソースコード管理、CI/CD、監視、セキュリティ、ドキュメント管理等の機能があります。GitLabは、オープンソースとして公開されているGitLab Community Editionと、GitLab Community Editionをもとに拡張機能を追加したGitLab Enterprise Editionを使用することができます。GitLab Enterprise Editionの拡張機能は、独自のライセンスのもと提供されており、WebUIでアクセスできます。
次の画像はサインイン画面例です。

GitLabサインイン画像

GitLabのコンテナレジストリ機能

コンテナを使用したシステムを開始する時、コンテナのイメージをどこに管理するかを決める必要があります。ひとつのイメージを使って複数のサーバでコンテナを起動したり、新しいイメージを作成したり、イメージをどのように管理するのかが重要です。GitLabをコンテナのレジストリとして使用できるようにセットアップすることで、コンテナ環境からコンテナイメージのアップロードやダウンロードを行うことができるようになります。

GitLabのコンテナレジストリには、以下の機能があります。

  • コンテナ環境からのログイン
  • コンテナイメージのアップロード(登録)
  • コンテナイメージのダウンロード(取得)
  • コンテナイメージのバージョン管理

GitLabのコンテナレジストリは、プロジェクトと連携しているため、GitLabのプロジェクト名のままDockerイメージ名をつけることが可能です。またプロジェクトの公開設定と同じレジストリのアクセス権限が参照されます。GitLabは、AWSやGoogle Cloud Platformのようなクラウドサービスだけでなく、オンプレミスに構築が可能なので、組織内にプライベートコンテナレジストリのサービスを提供することができます。機密情報を扱うコンテナでも、安心して運用できるようになります。

GitLabコンテナレジストリ画像

GitLabのその他の機能

GitLabでは、リポジトリのことをプロジェクトという単位で扱います。プロジェクトは個人のみやグループで共有など、アクセスレベルを設定し表示できます。

GitLabプロジェクト画像

  • Private:グループのメンバーのみ公開
  • Internal:Gitlabにログインしている全ユーザに公開
  • Public:Gitlabにログインしていないユーザにも全公開

リポジトリ機能

WebUIからの作業で、リポジトリ情報の参照や管理ができるようになります。GitLabのバージョン5.2では、ほかのリポジトリからのフォーク機能やブランチを作成する機能にも対応しています。その他に、リポジトリ作成やユーザ管理、コミット管理を行うことができます。GitLabは、GitLab以外のGitリポジトリをインポートする機能があります。またリポジトリ以外のデータやファイルもインポートすることが可能です。

GitLabリポジトリ機能画像

「Issues」機能

Issues機能とは、課題の管理機能ツールです。プロジェクトやソースコードに対するタスクを管理することができます。ソースコードやPull Request、変更履歴などと紐づけすることも可能です。

コード検索/コードレビュー機能

プロジェクト内のコードを検索、レビューすることができるツールです。コードレビュー機能にあるマージリクエストを使うことで、Gitlabを使用しているチームにレビューしてもらうことができます。「Issue」と「マージリクエスト」の紐付けもできるため、差分をすぐに把握することができます。

Wiki機能

Wiki機能は、Githubのリポジトリ内、Code等のタブ内に存在するツールです。フォーマットは数種類から選択が可能で、ページの追加や作成したページへのリンクも自由に行うことができます。

デージーネットの取り組み

デージーネットでは、Dockerやコンテナ管理を自動化するOSSであるKubernetes、そしてGitLabなどのOSSを組み合わせて、お客様のニーズに合った便利で安心できるコンテナ環境を構築するサービスを提供しています。
GitLabについてより詳細な内容は「GitLabコンテナレジストリ機能調査報告書」に掲載しています。

GitLab「情報の一覧」

GitLabコンテナレジストリ機能調査報告書

調査報告書ダウンロードの画像

GitLabは、ソフトウェア開発ライフサイクルを実施するための単一アプリケーションです。本書は、GitLabのコンテナレジストリ機能について調査した内容をまとめたものです。

Kubernetes〜コンテナ管理ツール〜

Kubernetesの画像

Kubernetesとは、Dockerコンテナの管理を自動化するためのソフトウェアです。Dockerコンテナは完全仮想環境化に比べ、ディスク、メモリ消費量を少量で利用できます。またサービスの起動が高速でバージョン管理を容易に行うことができます。Kubernetesを使用すると、Dockerコンテナの長所を最大限に活用することができます。

デモのお申込み

もっと使い方が知りたい方へ
操作方法や操作性をデモにてご確認いただけます。使い方のイメージを把握したい、使えるか判断したい場合にご活用下さい。デモをご希望の方は、下記よりお申込みいただけます。


デモをご希望の方

デモの申し込みイメージ

OSS情報「Kubernetes」

Kubernetes〜コンテナ管理ツール〜
ここでは、Dockerコンテナの管理を自動化するためのソフトウェア「Kubernetes」を紹介します。
Kubernetesクラスタの構築
ここでは、CentOS7に最小限のKubernetesクラスタを構築する方法について説明いたします。
KubernetesのPod機能
ここではPod機能について説明いたします。
Kubernetesのレプリカセットとデプロイメント
ここではデプロイメントという機能を利用してレプリカセットを作成する方法について説明いたします。
Kubernetesのアーキテクチャ
ここではアーキテクチャについて説明いたします。
Kubernetesのコンテナアップデート
ここでは、Kubernetesでソフトウェアをアップデートする場合の手法について説明いたします。
Kubernetesのローリングアップデート
ここでは、Kubernetesのローリングアップデート機能の概要について説明いたします。
Kubernetesのダッシュボード
ここでは管理用のダッシュボードについて説明いたします。
Kubernetesの永続ストレージ
ここでは永続ストレージについて説明いたします。
Rancher
〜Kubernetesの管理ソフトウェア〜
ここでは、Kubernetesの管理ソフトウェアのRancherについて紹介します。
GitLab〜Dockerのプロジェクト管理とレジストリ〜
GitLabは、ウェブ型のGitリポジトリマネージャーです。ここではGitLabのコンテナレジストリについて説明いたします。
DRBD-SDSとKubernetes
ここではDRBD-SDSを利用することでサービスの冗長化を実現させる手法について説明いたします。
Falco
〜コンテナの侵入・改ざん検知ツール〜
ここではKubernetesを代表するコンテナ環境をターゲットにしているコンテナランタイムセキュリティソフトウェアのFalcoについて説明いたします。
Trivy
〜コンテナイメージの脆弱性診断ツール〜
Trivyは、コンテナイメージの脆弱性診断ツールです。ここではTrivyの機能や特徴などについて説明いたします。

GitLab〜OSSコンテナレジストリ〜の先頭へ