fbpx

GitLab Coreのインストール #gitlab #gitlabjp #git #cicd #DevOps #developers

この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。

GitLab にはGitLab CEGitLab Coreという、2つの無償版が存在します。
GitLab CEとGitLab Coreの違いはこちら

もし、これから会社で業務にGitLab を使うために構築する場合は、「GitLab Core」(以下、Core)を選んでください。

例えば…
ユーザーが増えてきて、会社の認証サーバ(LDAP,AD)と連携したほうが楽になったり、
多くのプロジェクトや部署が合流し、サーバ停止が及ぼす影響が想定外に大きくなり、DRの機能が必要!と思うようになったり、
小さく始めたプロジェクトが拡大し、マージの承認機能を使いたくなったり、
日本語サポートがほしくなるような事象が起こったり、
カナリアリリースをしたくなったり…

こういった場合に、Coreであれば、サーバの構成変更/設定変更は一切必要なく、
購入したライセンスキーを管理画面から適用するだけで、すぐにEnterprise Editionの機能を使うことができます。

もしGitLab CE(以下、CE)で構築したサーバでEnterprise Editionの機能を使いたい
となった場合、Enterprise Editionを上書きでインストールする必要があります。

基本的にCoreとCEで機能差はありませんし、インストール方法も同じです。

では、Coreの構築方法をご紹介していきます。
GitLab Coreのインストール方法
GitLab日本語サイトのインストールページにアクセスします。

環境
今回は筆者の業務用PCのVagrant環境でCentOS 7.6の仮想サーバを立ち上げました。

インストール方法
Omnibusパッケージでインストールします。

まず、GitLab日本語サイトのインストールページにあるCentOS 7 をクリックし、インストール方法を表示させます。

依存パッケージのインストールと設定を行います。
コマンドは、画面右の「クリップボードにコピー」をクリックし、

ターミナルソフトでペーストします。(とても楽)


[vagrant@localhost ~]$ sudo yum install -y curl policycoreutils-python openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd

sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.riken.jp
* extras: ftp.riken.jp
* updates: ftp.riken.jp
Package curl-7.29.0-51.el7.x86_64 already installed and latest version
Package policycoreutils-python-2.5-29.el7_6.1.x86_64 already installed and latest version
Package openssh-server-7.4p1-16.el7.x86_64 already installed and latest version
Nothing to do
[vagrant@localhost ~]$ sudo systemctl enable sshd
[vagrant@localhost ~]$ sudo systemctl start sshd
[vagrant@localhost ~]$
[vagrant@localhost ~]$ sudo firewall-cmd --permanent --add-service=http
FirewallD is not running
[vagrant@localhost ~]$ sudo systemctl reload firewalld
Job for firewalld.service invalid.
[vagrant@localhost ~]$

Firewalldのエラーがでました…。
Firewalldのステータスを確認します。

[vagrant@localhost ~]$ sudo systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)

Jun 24 09:15:37 localhost.localdomain systemd[1]: Unit firewalld.service cannot be reloaded because it is inactive.
[vagrant@localhost ~]$

Firewalldが起動していないので、起動します。

[vagrant@localhost ~]$ sudo systemctl start firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: active (running) since Mon 2019-06-24 07:45:50 UTC; 2s ago
Docs: man:firewalld(1)
Main PID: 31212 (firewalld)
CGroup: /system.slice/firewalld.service
mq31212 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid

Jun 24 07:45:49 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
Jun 24 07:45:50 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
[vagrant@localhost ~]$

起動したので、Firewalldについてはこれで完了。

続いて、Postfixのインストールを行います。
先ほどと同じ要領で、手順のコマンドをクリップボードにコピーし、仮想サーバで実行します。

[vagrant@localhost ~]$ sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.riken.jp
* extras: ftp.riken.jp
* updates: ftp.riken.jp
Package 2:postfix-2.10.1-7.el7.x86_64 already installed and latest version
Nothing to do
[vagrant@localhost ~]$

既にインストールされていました。

次に、GitLabのパッケージをリポジトリに追加します。

[vagrant@localhost ~]$ curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash


Installed:
gitlab-ee.x86_64 0:12.0.0-ee.0.el7

Complete!

最後に上記のメッセージが出て完了です。
GitLabの推奨メモリは4GB以上ですが、私のPC上の仮想サーバには2GBしか割り当てていないからか、完了まで少し時間がかかってしまいました。

いよいよ、インストールを実行します。

sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ee

インストールの最後には、このようなカッコいいアスキーアートのGitLabロゴが出ます。

ロゴの下に書かれているメッセージ通り、先ほど公式手順通りにGitLabUIのURLをhttp://gitlab.example.comにしてしまったので、http://localhostでアクセスできるように構成ファイルを変更したいと思います。

[vagrant@localhost /]$ cd /etc/gitlab
[vagrant@localhost gitlab]$ ls -l
total 92
-rw-------. 1 root root 91554 Jul 2 08:28 gitlab.rb
[vagrant@localhost gitlab]$

構成ファイルのgitlab.rbは、デフォルトでは/etc/gitlab配下にあります。

gitlab.rbの中の、以下の赤丸の部分を変更しました。

gitlab.rbを変更した際は、以下のコマンドで設定を反映させます。


[vagrant@localhost gitlab]$ sudo gitlab-ctl reconfigure

これでGitLabのUIにログインできる準備が整いました。アクセスしてみます。

管理画面にアクセスできました。

思ってた以上に簡単でした。
ぜひ、CoreでGitLabの良さを体感してください。

エンタープライズエディションの詳細についてはこちらで詳しくご紹介しています。

Try GitLab Today!

関連ブログ
GitLab Runnerの情報を確認する方法

GitHubのリポジトリをGitLabへインポートする

GitLabのバックアップを取ってみた

AWS EKSをGitLabデプロイ環境として使う

GitLab Runnerをkubernetes上でラフに動かしてみよう

参考:https://www.gitlab.jp/installation/

新規CTA