インストール - GitLab

提供:MochiuWiki - SUSE, Electronic Circuit, PCB
ナビゲーションに移動 検索に移動

概要

GitLabとは、ソフトウェア開発支援環境のことで、GitHubのようなサービスを社内等のクローズド環境に独自で構築できるGitリポジトリ管理システムである。

同様な機能を提供する製品として、次のようなものが存在する。

  • GitBucket
  • Gitblit
  • Gogs


もし、RaspberryPiにGitLabをインストールする場合、RaspberryPi 4 4GBを使用することを推奨する。


依存関係のライブラリとソフトウェアのインストールと設定

GitLabのインストールに必要な依存関係のライブラリやソフトウェアをインストールする。

# RHEL
sudo dnf install curl policycoreutils-python openssh-server

# SUSE
sudo zypper install curl openssh perl

# Raspberry Pi
sudo apt-get install curl openssh-server ca-certificates apt-transport-https
curl https://packages.gitlab.com/gpg.key | sudo apt-key add -


SSHサービスを自動起動に設定する。
また、ファイアウォールの設定において、HTTP、HTTPS、SSHのポートを開放する。

sudo systemctl enable sshd
sudo systemctl start sshd

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https

sudo systemctl reload firewalld


次に、Postfixをインストールする。
Postfixのインストール中に、設定画面が表示される場合がある。この時、[インターネットサイト]を選択して、[メール名]にサーバの外部DNSを使用する。
もし、追加の画面が表示されたら、[Enter]キーを押下してデフォルトを受け入れる。

# RHEL
sudo dnf install postfix

# SUSE
sudo zypper install postfix

# Raspberry Pi
sudo apt-get install postfix


Postfixサービスを自動起動に設定する。

sudo systemctl enable postfix
sudo systemctl start postfix


別のソフトウェアおよびサービスを使用してメールを送信する場合は、この手順をスキップして、GitLabのインストール後に外部SMTPサーバを構成すること。


GiLabのインストール

GitLabのリポジトリを追加する。

# RHEL
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

# SUSE
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

# Raspberry Pi
sudo curl -sS https://packages.gitlab.com/install/repositories/gitlab/raspberry-pi2/script.deb.sh | sudo bash


次に、GitLabをインストールする。 (GitLab Enterprise Editionをインストールする場合は、gitlab-ceではなくgitlab-eeをインストールすること)
https://gitlab.example.comを、GitLabのインスタンスにアクセスするURLに変更する。
インストール後は、自動的にそのURLでGitLabが設定、構成および起動される。

httpsプロトコルを使用する場合、GitLabは自動的にLet's Encryptで証明書を要求する
Let's Encryptは、インバウンドのHTTPアクセスと有効なホスト名を必要とする。
例えば、LAN内でのみ使用する場合は、内部向けのHTTPとホスト名が必要である。

また、独自の証明書を使用することも、httpプロトコルを使用することもできる。

初期管理者ユーザ (rootユーザ) にカスタムパスワードを指定する場合は、GitLabの公式Webサイトにあるドキュメントを参照すること。
パスワードを指定しない場合は、ランダムなパスワードが自動生成される。

# RHEL
sudo EXTERNAL_URL="http://gitlab.example.com" dnf install gitlab-ce

# SUSE
sudo EXTERNAL_URL="http://gitlab.example.com" zypper install gitlab-ce

# Raspberry Pi
sudo EXTERNAL_URL="http://gitlab.example.com" apt-get install gitlab-ce


なお、 GitLabの構成ファイルは、/etc/gitlab/gitlab.rbファイルである。
この構成ファイルに対して変更を加えた場合、以下のようにGitLabの再構成スクリプトを実行する。

sudo gitlab-ctl reconfigure


初期管理者ユーザ (rootユーザ) のパスワードを設定するには、以下に示す2つのオプションがある。

  • 環境変数GITLAB_ROOT_PASSWORDをインストールコマンドに渡す。
    ただし、サーバのホスト名が正しく設定されている場合のみ。
    GITLAB_ROOT_PASSWORD="<strongpassword>"

  • 最初の再設定の前に、/etc/gitlab/gitlab.rbファイルを編集または作成する。
    gitlab_rails['initial_root_password'] = '<my_strong_password>'


上記の方法はいずれも、最初のリコンフィギュレーション中に実行される最初のデータベースシーディング中にのみ適用される。
それ以降のリコンフィギュレーションの実行では、どちらの方法も効果がないため、
その場合は、/etc/gitlab/initial_root_passwordファイルにあるランダムなパスワードを使用してログインする、または、rootパスワードをリセットする必要がある。


GitLabのログイン

最初にGitLabにアクセスすると、管理者用パスワードの設定画面が表示されるので設定する。
初期設定の管理者用アカウントのユーザ名と上記で設定した管理者用パスワードを入力する。(初期設定の管理者用アカウントのユーザ名はrootである)

インストールと構成の詳細な手順については、こちらのドキュメントを参照すること。


GitLabの設定

初期設定では、GitLabは誰でも新規ユーザの作成を許可している。
ユーザ登録は、SysAdminによって手動で作成されるか、LDAP等の外部認証システムからユーザ情報を取得する方がよい。

安全なアクセス管理を行う場合は、以下の設定に従って、この設定を無効にする。

  1. GitLabのメインページにアクセスして、rootユーザとしてログインする。
  2. スパナアイコンを押下して、管理画面にアクセスする。
  3. 管理画面左のナビゲーションペインの下部にある[Settings]を選択する。
  4. [サインアップ制限]セクションを展開して、ユーザが新しいアカウントを作成する方法を構成する。
  5. GitLabのメインページでのユーザ登録を無効にするには、[Sign-up enabled]チェックボックスをオフにする。
  6. [Save Changes]ボタンを押下して、設定を保存する。



GitLabの購読

メールサブスクリプション設定センターにアクセスして、いつ連絡するかを設定する。
明示的なメールポリシーがあるため、メールの送信内容と送信頻度を完全に制御できる。

月に2回、新機能、統合、ドキュメント、開発チームからの裏話等のGitLabニュースが送信される。
バグやシステムパフォーマンスに関連する重要なセキュリティアップデートについては、専用のセキュリティニュースレターに登録する。

※注意
セキュリティニュースレターを購読しない場合、セキュリティアラートが受信できない。


サインアップ制限とサインイン設定

GitLabのサインアップ制限とサインイン設定を構成する。
GitLabのインスタンスを保護するため、推奨プラクティスを検討する。