GitLabは、GitLab Incによって開発されたRailsに基づくオープンソースのリポジトリマネージャーです。これは、チームがアプリケーションのコーディング、テスト、およびデプロイで共同作業できるようにするWebベースのgitリポジトリマネージャーです。 GitLabは、Wiki、問題追跡、コードレビュー、アクティビティフィードなど、いくつかの機能を提供します。
GitLab Incは4つの製品を提供しています:
- Gitlab CE(Community Edition)-セルフホストで無料。コミュニティフォーラムからのサポート。
- Gitlab EE(Enterprise Edition)-自己ホスト型で有料。追加機能が付属しています。
- GitLab.com-SaaSおよび無料。
- GitLab.io-GitLabInc.が管理するプライベートGitLabインスタンス
このチュートリアルでは、CentOS8サーバーにGitLabCEをインストールする方法を説明します。 GitLabが提供する「オムニバス」パッケージを使用してGitLabCEをインストールし、GitLabの基本的な構成を行い、テストして新しいGitLabプロジェクトを作成します。
前提条件
このガイドでは、4GBのRAM、30GBの空きディスク容量、2つのCPUを搭載した最新バージョンのCentOS8サーバーにGitLabCEをインストールします。
何をしますか?
- パッケージの依存関係をインストールする
- リポジトリを追加してGitLabCE(Community Edition)をインストールする
- SSLLetsencryptとDHPARAM証明書を生成する
- GitLabでNginxHTTPSを有効にする
- Firewallを設定する
- GitLabポストインストール
- テスト
まず、OpenSSHパッケージやPostfixなど、GitLabに必要ないくつかのパッケージの依存関係をインストールします。
以下のdnfコマンドを使用して、GitLabCEのパッケージ依存関係をインストールします。
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
その結果、パッケージの依存関係のインストールが完了しました。
このステップでは、公式のGitLabリポジトリをCentOS 8システムに追加し、GitLabCEパッケージをインストールします。
以下のインストーラースクリプトを使用して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リポジトリが追加されます。
次に、コマンド
を使用してGitLabCEパッケージをインストールしますsudo dnf install gitlab-ce -y
すべてのインストールが完了すると、次のような結果が得られます。
その結果、GitLab CECommunityEditionがCentOS8システムにインストールされました。
このチュートリアルでは、安全なHTTPS接続でGitLabを実行し、opensslコマンドを使用して生成できるLetsencryptのSSLLetsencryptとDHAPRAMを使用します。
このステップでは、EPELリポジトリからインストールできるcertbotコマンドラインツールを使用してSSL Letsencryptを生成し、opensslを使用してDHPARAM証明書を生成します。
以下のコマンドを使用して、EPELリポジトリをCentOS8システムに追加します。
sudo dnf install epel-release
次に、以下のdnfコマンドを使用してcertbotパッケージをインストールします。
sudo dnf install certbot
すべてのインストールが完了したら、以下のcertbotコマンドを使用してGitLab用のSSLLetsencrypを生成します。
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コマンドを使用して、「/ etc/gitlab」ディレクトリにDHPARAM証明書を生成します。
sudo openssl dhparam -out /etc/gitlab/dhparams.pem 2048
すべてが完了したら、「dhparam.pem」証明書のアクセス許可を「0600」に変更します。
sudo chmod 600 /etc/gitlab/dhparams.pem
その結果、GitLab用のSSLLetsencryptおよびDHPARAM証明書が生成されました。
このステップでは、ドメイン名を設定し、GitLabのNginxHTTPSセキュア接続を有効にします。
'/ 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インストールを再構成します。
すべて完了したら、次のステップに進みます。
GitLabでHTTPSを有効にした後、HTTPSおよびHTTPSサービスをfirewalldに追加します。
以下の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サービスがリストに追加されます。
その結果、HTTPSおよびHTTPSサービスをfirewalldに追加し、GitLabの準備が整い、アクセスできるようになりました。
Webブラウザーを開き、アドレスバーにGitLabドメイン名のインストールを入力します。私のは:https://gitlab.hakase-labs.io/、あなたのアドレスを使用してください。
そして、パスワードのリセットページにリダイレクトされます。
-GitLabのデフォルトパスワードのリセット
デフォルトのGitLabユーザーの新しいパスワードを入力します'root '。
次に、[パスワードの変更]をクリックします。 'ボタンをクリックすると、GitLabログインページにリダイレクトされます。
デフォルトのユーザー'rootを入力します 'とパスワードを入力し、[ログイン]をクリックします。 'ボタンをクリックすると、以下のようにGitLabダッシュボードが表示されます。
GitLabダッシュボードにログインした後、デフォルトの' root を変更します '自分のユーザー。
プロファイル設定を変更するには、アイコンプロファイルの右上をクリックし、[設定]をクリックします。 'アイコンでプロフィールを設定します。
次に、新しいユーザー名とメールアドレスを入力し、一番下のページまでスクロールして、[プロファイル設定の更新]をクリックします。 'ボタン。
次に、[アカウント]をクリックします 'タブで、デフォルトのユーザー名を変更します' root '自分で'を使用して、'ユーザー名の更新をクリックします 'ボタン。
その結果、rootユーザーのデフォルトのユーザー名とメールアドレスが変更されました。
SSHキーを追加
次に、SSHキーをGitLabに追加します。 SSHキーを持っていることを確認してください。持っていない場合は、次のコマンドを使用してSSHキーを生成できます。
ssh-keygen
これで、SSHキーが'〜/ .sshで生成されます。 'ディレクトリ、ユーザーのホームディレクトリ内。
次に、GitLabダッシュボードに戻り、[SSHキー]タブメニューをクリックします。
SSH公開鍵の内容をコピーします'〜/ .ssh / id_rsa.pub 'そしてGitLabページに貼り付けてから、'キーの追加をクリックします 'ボタン。
その結果、SSHキーが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"
次に、以下のgitpushコマンドを使用して新しい変更をGitLabリポジトリにプッシュします。
git push origin master
'README.md'ファイルの新しい変更がGitLabリポジトリにプッシュされました。
次に、WebブラウザのGitLabリポジトリに戻ると、コミットコメントが上にある新しいバージョンの「README.md」ファイルが表示されます。
その結果、新しいGitLabプロジェクトを正常に作成し、それに変更を加えることができました。
最後に、CentOS8サーバーへのGitLabのインストールと構成が正常に完了しました。