プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • GitLab
  • 【GitLab】ディレクトリ構成や概要的知識
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【GitLab】ディレクトリ構成や概要的知識

03.08

  • miyabisan2
  • コメントを書く

この記事は4分で読めます

GitLabとは?

バージョン管理ツールを主体としたRuby on Rails製の開発支援ツールです。エンジニア以外でも気軽に使えるように設計されておりアイディア出し等のコミュニケーションの活性化を目指したツールです。

GitLabの特徴

  • アプリケーション開発ライフサイクルに必要な機能の豊富さとその連携に強い。
  • ツール間の設定変更やバージョンアップを一元的に行ってくれる。
  • あらゆる規模のチーム開発に対応できるように設計されている。
  • オンプレミス、クラウド問わず自由に環境を構築して主要ツールを利用できる。
  • LDAPやAD等の認証サービスとも連携できるのでMicrosoft製品との相性も良い。
  • gitlab-ctlという専用の管理コマンドにより容易に運用できる。
  • 監視ツール(Promethecus)はOSのパッケージマネージャから簡単にアップグレードできる。

GitLabの他ツールと違った最大の特徴は、複数ツールとの連携に強く、ツールのバージョンアップや設定変更等の管理を一元で行ってくれて導入や運用コストを大きく下げられる点にあるでしょう。

ディレクトリ構成

ディレクトリ 用途
/opt/gitlab GitLab実行ライブラリのディレクトリ
 bin GitLabの管理コマンド
 etc 実行環境変数や設定の配置
 embedded 各プロセスのバイナリファイル
 sv runsvdirプログラムの配置
/var/opt/gitlab/ GitLabデータディレクトリ
 git-data リポジトリ配置ディレクトリ
 git-data/repositories Gitリポジトリデータ
 git-rails/shared オブジェクトの配置ディレクトリ
 git-rails/shared/artifacts CIの成果物の配置
 git-rails/shared/lfs-objects LFSオブジェクトの配置
 git-rails/uploads ユーザー添付ファイルの配置
 git-rails/shared/pages ユーザーカスタマイズページオブジェクト
 gitlab-ci/builds CIのビルドログ
/etc/gitlab/ GitLabユーザー設定ファイルディレクトリ
 gitlab.rb 設定ファイル、運用者がよく利用するディレクトリはこれでしょう。
/var/log/gitlab GitLabログディレクトリ

GitLabの機能

他のプロダクトと柔軟に連携するための内部拡張機能が同梱されています。

  • Gitのリポジトリ機能
  • 課題管理
  • レビュー
  • テスト
  • きめ細やかなアクセスコントロール

GitHubとの比較

CI機能がGitHubは外部サービス任せとなっていますが、GitLabの場合は機能として保持(GitLab CI)しています。また、オンプレ版に関してはGitHubは有料なのにGitLabは無料になります。

GitLabを採用している企業

GitLabはCIツールとして高く評価をされており下記のような有名企業でも導入されています。

  • SONY
  • NASA
  • Nasdaq

GitLabの歴史

年 説明
2011年 GitLabプロジェクトスタート
2012年 OSS化される。GitLab CIの最初のバージョンもできました。
2013年 GitLabが会社として独立準備が行われました。
2014年 GitLabが会社として独立しました。
2016年 GitLabのコントリビュータの数が1000人、利用組織が10万、利用者が何百万になりました。

GitLabのプロダクト

GitLab CE

OSSで開発されている無償プロダクトでありユーザー自身が構築する必要があります。MITライセンスになります。

GitLab EE

GitLab CEに大規模向けの機能が追加されたものです。GitLab Inc.からサポートも受けられる有償プロダクトになります。

GitLab.com

GitLabをSaaSモデルにしたオンライン上のプロダクトです。無償も有償サポートもあります。

GitHost.io

専有型のGitLabホスティングサービスです。

GitLabのイベント

GitLabでは特定のエンジニアだけが開発に参加するという状況を作らないように下記二つのイベントを設けています。

定期アップグレード

毎月22日にマイナーアップグレードが行われます。このタイミングで新機能の追加やバグ修正のリリースが行われます。少なくとも一ヶ月前のバージョンのリリース内容には着目しておく必要があるでしょう。

Issues Bash

GitLabには多くのIssueがあり基本的には社員がレビューを行ってマージしています。ただ、どうしても手が回らなくなってしまったりするので2日という期間を設けてIssueの解決をするイベントを行っています。最も多くのIssueを解決した参加者は表彰されたりします。

機能一覧

ユーザー管理

GitLabにおけるユーザーには下記の2種類があります。

  • 管理者ユーザー
  • 一般ユーザー

管理者ユーザー

GitLabのインストール後にはrootというユーザーがデフォルトで作成されますがこれは管理者ユーザーになります。

管理者ユーザー特有の機能

管理者ユーザーは一般ユーザーが利用できる機能に加えて下記の機能が使えるようになっています。

  • 全プロジェクト、ユーザー、グループの管理
  • ジョブや各プロセスのシステム監視
  • システムメンテナンス通知
  • System Hookの登録

ユーザーの作成方法

GitLab上にユーザーを作成する方法は二つあります。どちらでも良いですが実際にGitLabを運用する際はどちらで作成するかは事前にチーム内で決めておいた方が良いでしょう。

  • ログイン画面から新規作成する方法
  • 管理者ユーザーにより新規作成する方法

Gitリポジトリ管理

プロジェクト単位で公開、非公開のGitリポジトリを持っていてそれを管理する機能がGitLabのコア機能と言えます。機能を使いこなす上では事前にGitに関する基本的な知識を持っておく必要があります。

ロール管理

Gitリポジトリに対してそれぞれロールベースのユーザー管理を行えます。

統合的なコード管理

オンラインのGitリポジトリ上でコミットやフォーク等の処理を行うことができます。

プロジェクトポータル機能

プロジェクトのwikiや独自のプロジェクトサイトを構築できます。

課題管理

「Issue Board」機能があり、開発途中やサービス運用で出たプロジェクトやソースコードに対する課題管理を行えます。課題をタスク化することで次期リリース計画を見える化する事も可能です。

リリースの追跡

リリースの進捗モニタリングを行えます。

コードの品質向上

マージリクエストによるコードレビューをメンバ間で行えます。

デプロイ管理

CICDを視覚化し、デプロイの状況やエラー等を管理することが可能です。成果物は本番環境へのデプロイだけでなくGitLabに包括されているコンテナレジストリに保存する事も可能です。

更新のモニタリング

Slack等のチャットツールにデプロイの変更通知を行えます。デプロイにかかっている時間の測定等も可能です。

スポンサーリンク
  • 2020 03.08
  • miyabisan2
  • コメントを書く
  • GitLab
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2020 03.13

    【GitLab】「Merge Request(マージリクエスト)」について

  2. 2020 03.08

    【GitLab】Dockerイメージ、Docker Hubについて

  3. 2020 03.12

    【GitLab】「Issue Tracker」、「Issue Board」について

  4. 2020 03.08

    【GitLab】「グループ」、「プロジェクト」に関する知識

  5. 2020 03.11

    【GitLab】「Mattermost」について

  6. 2020 03.14

    【GitLab】「GitLab CI/CD Jobs」について

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【GitLab】Dockerイメージ、Docker H…

【GitLab】管理コマンド

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • AngularJS
  • API
  • AWS
  • C++
  • CSS
  • cursor
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Figma
  • Git
  • GitLab
  • GraphQL
  • gRPC
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 副業
  • 未分類
  • 業務知識
  • 生成AI
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー