GitLabは、GitLab Incによって開発されたRailsをベースにしたオープンソースのリポジトリマネージャーです。これは、チームがアプリケーションのコーディング、テスト、デプロイを共同で行えるようにするWebベースのgitリポジトリマネージャーです。 GitLabは、Wiki、問題追跡、コードレビュー、アクティビティフィードなどのいくつかの機能を提供します。
GitLab Incは4つの製品を提供しています。
- Gitlab CE(コミュニティ版)-セルフホスト型で無料。コミュニティフォーラムからのサポート。
- Gitlab EE(Enterprise Edition)-セルフホストおよび有料。追加機能が付属しています。
- GitLab.com-SaaSと無料。
- GitLab.io-GitLab Inc.が管理するプライベートGitLabインスタンス
このチュートリアルでは、CentOS 8サーバーにGitLab CEをインストールする方法を示します。 GitLabが提供する「omnibus」パッケージを使用してGitLab CEをインストールし、GitLabの基本的な構成をいくつか行い、テストして新しいGitLabプロジェクトを作成します。
前提条件
このガイドでは、4GBのRAM、30GBの空きディスク容量、2つのCPUを備えた最新バージョンのCentOS 8サーバーにGitLab CEをインストールします。
何する?
- パッケージ依存関係のインストール
- リポジトリーの追加とGitLab CE(コミュニティー版)のインストール
- SSL LetsencryptおよびDHPARAM証明書を生成する
- GitLabでNginx HTTPSを有効にする
- Firewalldを構成する
- GitLabのインストール後
- テスト中
ステップ1-パッケージの依存関係をインストールする
まず、OpenSSHパッケージやPostfixなど、GitLabに必要ないくつかのパッケージの依存関係をインストールします。
以下のdnfコマンドを使用して、GitLab CEのパッケージ依存関係をインストールします。
sudo dnf -y install curl policycoreutils openssh-server openssh-clients postfix
すべてのインストールが完了したら、SSHおよびPostfixサービスを開始します。
systemctl start sshd
systemctl start postfix
次に、両方のサービスをシステムブートに追加します。
systemctl enable sshd
systemctl enable postfix
その結果、パッケージ依存関係のインストールが完了しました。
ステップ2-リポジトリを追加してGitLabをインストールする
このステップでは、公式のGitLabリポジトリをCentOS 8システムに追加し、GitLab CEパッケージをインストールします。
以下のインストーラスクリプトを使用して、GitLabリポジトリを追加します。
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
すべてが完了すると、以下の結果が得られます。
Generating yum cache for gitlab_gitlab-ce...
Importing GPG key 0x51312F3F:
Userid : "GitLab B.V. (package repository signing key) <[email protected]>"
Fingerprint: F640 3F65 44A3 8863 DAA0 B6E0 3F01 618A 5131 2F3F
From : https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey
Importing GPG key 0xF27EAB47:
Userid : "GitLab, Inc. <[email protected]>"
Fingerprint: DBEF 8977 4DDB 9EB3 7D9F C3A0 3CFC F9BA F27E AB47
From : https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey/gitlab-gitlab-ce-3D645A26AB9FBD22.pub.gpg
Generating yum cache for gitlab_gitlab-ce-source...
The repository is setup! You can now install packages.
GitLabリポジトリを確認するには、以下のdnfコマンドを実行します。
sudo dnf repolist
そして、リストにGitLabリポジトリーが表示されます。
次に、コマンドを使用してGitLab CEパッケージをインストールします
sudo dnf install gitlab-ce -y
すべてのインストールが完了すると、次のような結果が得られます。
その結果、GitLab CE Community EditionがCentOS 8システムにインストールされました。
ステップ3-SSL LetsencryptおよびDHPARAMを生成する
このチュートリアルでは、安全なHTTPS接続でGitLabを実行し、opensslコマンドを使用して生成できるLetsencryptおよびDHAPRAMからのSSL Letsencryptを使用します。
この手順では、EPELリポジトリからインストールできるcertbotコマンドラインツールを使用してSSL Letsencryptを生成し、opensslを使用してDHPARAM証明書を生成します。
以下のコマンドを使用して、EPELリポジトリをCentOS 8システムに追加します。 広告
sudo dnf install epel-release
次に、以下のdnfコマンドを使用してcertbotパッケージをインストールします。
sudo dnf install certbot
すべてのインストールが完了したら、以下のcertbotコマンドを使用してGitLab用のSSL Letsencrypを生成します。
certbot certonly --rsa-key-size 2048 --standalone --agree-tos --no-eff-email --email [email protected] -d gitlab.hakase-labs.io
これで、SSL証明書が ‘/etc/letsencrypt/live/gitlab.hakase-labs.io’ディレクトリで利用できるようになります。次のコマンドを使用して確認します。
ls -lah /etc/letsencrypt/live/gitlab.hakase-labs.io/
「fullchain.pem」および「privkey.pem」証明書を取得します。
次に、以下のopensslコマンドを使用して、DHPARAM証明書を「/ etc / gitlab」ディレクトリに生成します。
sudo openssl dhparam -out /etc/gitlab/dhparams.pem 2048
すべて完了したら、「dhparam.pem」証明書の許可を「0600」に変更します。
sudo chmod 600 /etc/gitlab/dhparams.pem
その結果、GitLabのSSL LetsencryptおよびDHPARAM証明書が生成されました。
ステップ4-ドメイン名を設定してGitLabのNginx HTTPSを有効にする
このステップでは、ドメイン名を設定し、GitLabのNginx HTTPSセキュア接続を有効にします。
‘/etc/gitlab’ディレクトリに移動し、構成「gitlab.rb」を編集します。
cd /etc/gitlab/
vim gitlab.rb
‘external_url’行で、デフォルトのドメイン名を自分のドメイン名に変更し、httpを以下のようにhttpsプロトコルに変更します。 広告
external_url 'https://gitlab.hakase-labs.io'
次に、 ‘external_url’行の後に次の構成を追加し、SSLおよびDHPARAM証明書を独自のものに変更します。
nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/etc/letsencrypt/live/gitlab.hakase-labs.io/fullchain.pem"
nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/gitlab.hakase-labs.io/privkey.pem"
nginx['ssl_dhparam'] = "/etc/gitlab/dhparams.pem"
保存して閉じます。
次に、次のコマンドを実行してGitLabを再構成し、新しい構成を適用します。
sudo gitlab-ctl reconfigure
このコマンドは、Omnibus GitLabを強化するChefスクリプトを呼び出して、GitLabインストールを再構成します。
すべてが完了したら、次のステップに進みます。
ステップ5-Firewalldを構成する
GitLabでHTTPSを有効にした後、HTTPおよびHTTPSサービスをファイアウォールに追加します。
以下のfirewall-cmdコマンドを実行します。
firewall-cmd --add-service=ssh --permanent
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
その後、firewalldサービスをリロードして新しい設定を適用します。
firewall-cmd --reload
次のコマンドを使用して、firewalldのすべてのサービスを確認します。
firewall-cmd --list-services
これで、SSH、HTTP、およびHTTPSサービスがリストに表示されます。
その結果、HTTPおよびHTTPSサービスがfirewalldに追加され、GitLabの準備が整い、アクセスできるようになりました。
ステップ6-GitLabのインストール後
Webブラウザーを開き、アドレスバーにGitLabドメイン名のインストールを入力します。鉱山は:https://gitlab.hakase-labs.io/、あなたのアドレスを使用します。
そして、あなたはパスワードのリセットページにリダイレクトされます。
GitLabのデフォルトパスワードのリセット
デフォルトのGitLabユーザー「 root 」の新しいパスワードを入力します。
次に、「 パスワードの変更 」ボタンをクリックすると、GitLabログインページにリダイレクトされます。
デフォルトのユーザー「 root 」とパスワードを入力し、「 Sign in 」ボタンをクリックすると、以下のようなGitLabダッシュボードが表示されます。
プロファイルとユーザー名を変更する
GitLabダッシュボードにログインした後、デフォルトの「 root 」ユーザーを自分のユーザーに変更します。
プロファイル設定を変更するには、アイコンプロファイルの右上をクリックし、 [設定]アイコンをクリックしてプロファイルを設定します。
新しいユーザー名と電子メールアドレスを入力し、下部のページまでスクロールして、[ プロファイル設定の更新 ]ボタンをクリックします。
次に、「 アカウント 」タブをクリックし、デフォルトのユーザー名「 root 」を自分の名前に変更してから、「 ユーザー名を更新 」ボタンをクリックします。
その結果、rootユーザーのデフォルトのユーザー名とメールアドレスが変更されました。
SSHキーを追加
次に、SSHキーをGitLabに追加します。 SSHキーを取得していることを確認します。取得していない場合は、次のコマンドを使用してSSHキーを生成できます。
ssh-keygen
これで、ユーザーのホームディレクトリ内の「 〜/ .ssh 」ディレクトリに生成されたSSHキーを取得します。
次に、GitLabダッシュボードに戻り、[SSHキー]タブメニューをクリックします。
SSH公開鍵のコンテンツ「 〜/ .ssh / id_rsa.pub 」をコピーしてGitLabページに貼り付け、「 鍵の追加 」ボタンをクリックします。
その結果、SSHキーがGitLabに追加されました。
アカウントごとのプロジェクト制限の設定
上部中央のメニューで、[ 設定]ボタンをクリックします。
さて、「アカウントと制限」セクションで、「 展開 」をクリックし「 設定」>「一般 」 をクリックしてください。
必要に応じて「 デフォルトのプロジェクト制限 」を変更し、「 保存 」ボタンをクリックします。
その結果、すべてのアカウントのデフォルトのプロジェクト制限が変更されました。
ステップ7-新しいプロジェクトを作成してコミットする
このステップでは、新しいGitLabプロジェクトを作成して、GitLabインストールをテストします。
新しいGitLabプロジェクトを作成する
GitLabで新しいプロジェクトを作成するには、右上のメニューの[ + ]プラグボタンをクリックします。
次に、プロジェクト名、プロジェクトスラッグ、説明の詳細を入力し、[ プロジェクトの作成 ]ボタンをクリックします。
そして、新しいGitLabプロジェクトが作成されました。
ノートパソコンでGitLabをセットアップする
GitLabで新しいプロジェクトを作成したら、ローカルコンピューターにGitLabアカウントをセットアップします。
端末を開き、次のgitコマンドを実行して、gitのデフォルトのユーザーとメールアドレスを設定します。
git config --global user.name "hakase"
git config --global user.email "[email protected]"
次に、GitLabプロジェクトをローカルコンピューターのディレクトリに複製して、そこに移動します。
git clone https://gitlab.hakase-labs.io/hakase/test-project.git
cd test-project/
その結果、Gitのデフォルトのユーザーとメールが構成され、GitLabプロジェクトがローカルコンピューターに複製されました。
変更を加えてコミットする
これで、ローカルコンピューターにGitLabプロジェクトが作成されました。「README.md」ファイルを変更して、GitLabプロジェクトへの最初のコミットをテストします。
エディターを使用して「README.md」ファイルを編集します。
vim README.md
ファイルに変更を加えて、保存して閉じます。
その後、以下のコマンドを使用して、「README.md」ファイルの新しいバージョンを追加してコミットします。
git add .
git commit -m "Change README.md"
次のgit pushコマンドを使用して、GitLabリポジトリに新しい変更をプッシュします。
git push origin master
「README.md」ファイルの新しい変更がGitLabリポジトリにプッシュされました。
次に、WebブラウザーでGitLabリポジトリに戻ると、新しいバージョンの「README.md」ファイルが取得され、コミットコメントが上に表示されます。
その結果、新しいGitLabプロジェクトが正常に作成され、変更が加えられました。
最後に、CentOS 8サーバーへのGitLabのインストールと構成が正常に完了しました。