-
サーバ構築のデージーネットTOP
-
OSS情報
-
一押しOSS
-
Kubernetes〜コンテナ管理の課題を解決するOSS〜
-
GitLab〜Dockerのプロジェクト管理とレジストリ〜
-
サーバ構築のデージーネットTOP
-
OSS情報
-
コンテナ型仮想化
-
Kubernetes〜コンテナ管理の課題を解決するOSS〜
-
GitLab〜Dockerのプロジェクト管理とレジストリ〜
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のプロジェクト名のままDockerイメージ名をつけることが可能です。またプロジェクトの公開設定と同じレジストリのアクセス権限が参照されます。GitLabは、AWSやGoogle Cloud Platformのようなクラウドサービスだけでなく、オンプレミスに構築が可能なので、組織内にプライベートコンテナレジストリのサービスを提供することができます。機密情報を扱うコンテナでも、安心して運用できるようになります。
GitLabのその他の機能
GitLabでは、リポジトリのことをプロジェクトという単位で扱います。プロジェクトは個人のみやグループで共有など、アクセスレベルを設定し表示できます。
- Private:グループのメンバーのみ公開
- Internal:Gitlabにログインしている全ユーザに公開
- Public:Gitlabにログインしていないユーザにも全公開
リポジトリ機能
WebUIからの作業で、リポジトリ情報の参照や管理ができるようになります。GitLabのバージョン5.2では、ほかのリポジトリからのフォーク機能やブランチを作成する機能にも対応しています。その他に、リポジトリ作成やユーザ管理、コミット管理を行うことができます。GitLabは、GitLab以外のGitリポジトリをインポートする機能があります。またリポジトリ以外のデータやファイルもインポートすることが可能です。
「Issues」機能
Issues機能とは、課題の管理機能ツールです。プロジェクトやソースコードに対するタスクを管理することができます。ソースコードやPull Request、変更履歴などと紐づけすることも可能です。
コード検索/コードレビュー機能
プロジェクト内のコードを検索、レビューすることができるツールです。コードレビュー機能にあるマージリクエストを使うことで、Gitlabを使用しているチームにレビューしてもらうことができます。「Issue」と「マージリクエスト」の紐付けもできるため、差分をすぐに把握することができます。
Wiki機能
Wiki機能は、Githubのリポジトリ内、Code等のタブ内に存在するツールです。フォーマットは数種類から選択が可能で、ページの追加や作成したページへのリンクも自由に行うことができます。
デージーネットの取り組み
デージーネットでは、Dockerやコンテナ管理を自動化するOSSであるKubernetes、そしてGitLabなどのOSSを組み合わせて、お客様のニーズに合った便利で安心できるコンテナ環境を構築するサービスを提供しています。
GitLabについてより詳細な内容は「GitLabコンテナレジストリ機能調査報告書」に掲載しています。
GitLab「情報の一覧」
GitLabは、ソフトウェア開発ライフサイクルを実施するための単一アプリケーションです。本書は、GitLabのコンテナレジストリ機能について調査した内容をまとめたものです。
Kubernetesとは、Dockerコンテナの管理を自動化するためのソフトウェアです。Dockerコンテナは完全仮想環境化に比べ、ディスク、メモリ消費量を少量で利用できます。またサービスの起動が高速でバージョン管理を容易に行うことができます。Kubernetesを使用すると、Dockerコンテナの長所を最大限に活用することができます。
GitHubに代わるオープンソースソフトウェアのバージョン管理システムForgejoについて紹介します。Forgejoは省リソースで導入ができ、日本語が使用可能で、シンプルで使いやすいことが特徴です。
仮想化環境を構築すると、物理リソースの削減による社内スペースの確保、リソースの効率的な管理、運用コストの削減などが実現できます。この記事では、仮想化に関連したソフトウェアを、4つのカテゴリでご紹介します。
デモのお申込み
もっと使い方が知りたい方へ
操作方法や操作性をデモにてご確認いただけます。使い方のイメージを把握したい、使えるか判断したい場合にご活用下さい。デモをご希望の方は、下記よりお申込みいただけます。
OSS情報「Kubernetes」