GitLabをdockerで立てる


CICDツールGitLabをdockerで立てるメモ

GitLabについて

  • GitLab Inc.が開発したgitリポジトリサービス/ツール(GitHub的なもの)
  • SaaS版と、自身でセットアップする「self-managed GitLab」がある
  • ソフトウェアはMITライセンスのOSS
  • 無償のCE(Community Edition)と有償のEE(Enterprise Edition)がある
  • EEはCEより機能が豊富。self-managed GitLabでCEを使う想定でも、EEをインストールしておくのが推奨されている(あとでアップグレードが楽なので)

参考)
・ CEとEE
https://www.gitlab.jp/install/ce-or-ee/

・ SaaS版の機能比較
https://about.gitlab.com/pricing/saas/feature-comparison/

self-managed GitLab セットアップ

  • 公式のインストール方法たたくさんある
    • 各種OSに直接インストール(yum/rpmなど)
    • HELMでKubernetesにインストール
    • dockerでインストール
    • 各クラウドサービス(AWS/GCP/Azule)を利用

 https://about.gitlab.com/install/

クラウドサービス利用は、マネージドGitLabがあるわけではなく、例えばAWSならEC2/RDS/ELB/S3/Elasticache/IAMなどを組み合わせてGitLabをしっかり作りこむ

dockerセットアップ

  • 公式のdockerイメージがdocker Hubで公開されている

  https://hub.docker.com/r/gitlab/gitlab-ee

  • docker / docker-compose / docker swarm それぞれの手順がある

  https://docs.gitlab.com/omnibus/docker/

  • 例えばdockerの場合はこんな感じ
sudo docker run --detach \
  --hostname gitlab.example.com \
  --publish 443:443 --publish 80:80 --publish 22:22 \
  --name gitlab \
  --restart always \
  --volume $GITLAB_HOME/config:/etc/gitlab \
  --volume $GITLAB_HOME/logs:/var/log/gitlab \
  --volume $GITLAB_HOME/data:/var/opt/gitlab \
  gitlab/gitlab-ee:latest

dockerでGitLab起動

  • 公式のイメージでdocker runするだけだが、起動には多少時間がかかり、すぐにアクセスしても下記エラーとなる。

  • 数分待てばログインできるようになる。初回アクセス時は、管理者(root)のパスワード設定から

  • rootパスワードを設定すると、下記ログイン画面に切り替わるので、usernameをroot、パスワードは先ほどのやつでログイン。

  • 下記トップ画面に