GitLabは、無料のオープンソースのWebベースのバージョン管理プラットフォームであり、一元化されたサーバーからすべてのGitリポジトリを管理できます。 GitLabはGithubの優れた代替手段であり、コードレビュー、問題管理、リポジトリブランチ、マージ、時間追跡、継続的インテグレーションとデプロイなどの非常に便利な機能を提供します。 GitLabは、開発者がプロジェクトを作成、レビュー、デプロイするために特別に設計されています。
GitLabは、Community Edition(CE)、Enterprise Edition(EE)、およびGitLabがホストするバージョンの3つの異なるエディションで利用できます。ユースケースの要件に応じて、それらのいずれかをインストールできます。
このチュートリアルでは、CentOS8にGitLabCEをインストールする方法を紹介します。
前提条件
- Atlantic.Netクラウドプラットフォーム上の新しいCentOS8VPS。
- 最大500ユーザーをサポートする2コアのCPU。
- 最大50人のユーザーをサポートするために少なくとも4GBのRAM。
- サーバーIPを指す有効なドメイン名。
- サーバーで構成されているrootパスワード。
ステップ1-Atlantic.Netクラウドサーバーを作成する
まず、Atlantic.Netクラウドサーバーにログインします。 4GB以上のRAMを搭載したオペレーティングシステムとしてCentOS8を選択して、新しいサーバーを作成します。 SSH経由でクラウドサーバーに接続し、ページの上部で強調表示されているクレデンシャルを使用してログインします。
CentOS 8サーバーにログインしたら、次のコマンドを実行して、ベースシステムを最新の利用可能なパッケージで更新します。
dnf update -y
次に、システムにいくつかの必要な依存関係をインストールする必要があります。次のコマンドですべてをインストールできます:
dnf install curl policycoreutils python3-policycoreutils -y
ステップ2–GitLabCEをインストールする
次のコマンドでインストールできます:
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | bash
リポジトリを追加すると、次の出力が得られます。
次に、次のコマンドを実行してGitLabCEをインストールします。
dnf install gitlab-ce -y
インストールが正常に完了すると、次の手順に進むことができます。
ステップ3– Let’sEncryptを使用してGitLabを保護する
次に、GitLab URLを設定し、Let’sEncrypt統合を有効にする必要があります。ファイル/etc/gitlab/gitlab.rbを編集することでそれを行うことができます:
nano /etc/gitlab/gitlab.rb
ドメイン名に一致する次の行を変更し、Let’sEncryptと目的の値の統合を有効にします。
external_url 'https://gitlab.example.com' letsencrypt['enable'] = true letsencrypt['contact_emails'] = ['[email protected]'] letsencrypt['auto_renew'] = true letsencrypt['auto_renew_hour'] = 12 letsencrypt['auto_renew_minute'] = 15 letsencrypt['auto_renew_day_of_month'] = "*/4"
終了したら、ファイルを保存して閉じます。次に、次のコマンドを使用してGitLabCEを再構成します。
gitlab-ctl reconfigure
このコマンドはGitLabを再構成し、Let’sEncryptSSLで保護します。 GitLabのセットアップが正常に完了すると、次の出力が表示されます。
* execute[reload prometheus] action run - execute /opt/gitlab/bin/gitlab-ctl hup prometheus Recipe: monitoring::alertmanager * runit_service[alertmanager] action restart (up to date) Recipe: monitoring::postgres-exporter * runit_service[postgres-exporter] action restart (up to date) Recipe: monitoring::grafana * runit_service[grafana] action restart (up to date) Recipe: nginx::enable * execute[reload nginx] action run - execute gitlab-ctl hup nginx Recipe: letsencrypt::enable * ruby_block[display_le_message] action run - execute the ruby block display_le_message Recipe: crond::enable * runit_service[crond] action restart (up to date) Running handlers: Running handlers complete Chef Client finished, 609/1641 resources updated in 10 minutes 43 seconds Warnings: Environment variable LANG specifies a non-UTF-8 locale. GitLab requires UTF-8 encoding to function properly. Please check your locale settings. gitlab Reconfigured!
ステップ4– GitLabWebUIにアクセスする
この時点で、GitLabがインストールおよび構成され、URLhttps://gitlab.example.comにアクセスしてGitLabUIにアクセスできるようになります。以下に示すように、パスワード変更画面にリダイレクトされます。
rootユーザーの新しいパスワードを設定し、変更をクリックします あなた パスワード ボタン。パスワードが正常に変更されると、GitLabのログイン画面が表示されます。
ユーザー名、指定したパスワードとしてrootを入力し、署名をクリックします。 で ボタン。次の画面にGitLabダッシュボードが表示されます。
ステップ5–ユーザーサインアップを無効にする
ユーザーサインアップを無効にするには、管理者をクリックします 以下に示すエリア:
次に、設定をクリックします 左ペインにあります。次のページが表示されます:
次に、拡張 サインアップの制限。次のページが表示されます:
次に、[サインアップを有効にする]ボタンをオフにして、GitLabウェルカムページでユーザー登録を無効にし、[保存]をクリックします。 変更 ボタン。
次に、GitLabダッシュボードからログアウトします。次の画面が表示されます。
ご覧のとおり、ユーザー登録のタブがありません。
ステップ6–GitLabバックアップの自動化
次のコマンドを使用して、GitLabデータの完全バックアップを作成できます。
gitlab-rake gitlab:backup:create
このコマンドは、GitLabデータの完全なバックアップを取り、それを/ var / opt / gitlab/backupsディレクトリに保存します。バックアップが正常に完了すると、次の出力が表示されます。
2020-03-22 10:59:34 -0400 -- Dumping database ... Dumping PostgreSQL database gitlabhq_production ... [DONE] 2020-03-22 10:59:37 -0400 -- done 2020-03-22 10:59:37 -0400 -- Dumping repositories ... 2020-03-22 10:59:38 -0400 -- done 2020-03-22 10:59:38 -0400 -- Dumping uploads ... 2020-03-22 10:59:38 -0400 -- done 2020-03-22 10:59:38 -0400 -- Dumping builds ... 2020-03-22 10:59:38 -0400 -- done 2020-03-22 10:59:38 -0400 -- Dumping artifacts ... 2020-03-22 10:59:38 -0400 -- done 2020-03-22 10:59:38 -0400 -- Dumping pages ... 2020-03-22 10:59:38 -0400 -- done 2020-03-22 10:59:38 -0400 -- Dumping lfs objects ... 2020-03-22 10:59:38 -0400 -- done 2020-03-22 10:59:38 -0400 -- Dumping container registry images ... 2020-03-22 10:59:38 -0400 -- done Creating backup archive: 1584889178_2020_03_22_12.9.0_gitlab_backup.tar ... done Uploading backup archive to remote storage ... skipped Deleting tmp directories ... done done done done done done done done done Deleting old backups ... skipping Backup task is done.
定期的にバックアップを実行する必要がないように、Cronでバックアップをスケジュールすることをお勧めします。
次のファイルを編集して、バックアップをスケジュールできます。
nano / etc / crontab
次の行を追加して、毎日午後8時にGitLabデータをバックアップします。
0 20 * * * gitlab-rake gitlab:backup:create
終了したら、ファイルを保存して閉じます。
結論
おめでとう!これで、CentOS8サーバーにGitLabCEが正常にインストールおよび構成されました。これで、GitLabを使用して独自のリポジトリをホストし、Atlantic.Netを使用したVPSでGitLabを使用して他の開発者とのコラボレーションを開始できます!