Ubuntu 20.04 に GitLab をインストールして設定する方法

Ubuntu 20.04 に GitLab をインストールして設定する方法

インストール

ステップ1 - 依存関係をインストールする

GitLab を自分でインストールする前に、インストール プロセス全体で使用するソフトウェアをいくつかインストールすることが重要です。幸いなことに、必要なソフトウェアはすべて、Ubuntu のデフォルトのパッケージ リポジトリから簡単にインストールできます。

このセッションでaptを使用するのは初めてなので、次のように入力してローカル パッケージ インデックスを更新し、依存関係をインストールできます。

sudo aptアップデート
sudo apt ca-certificatesをインストール curl openssh-server postfix

これらのソフトウェアの一部はすでにインストールされている可能性があります。 postfixインストールでは、プロンプトが表示されたら「インターネット サイト」を選択します。次の画面で、サーバーのドメイン名を入力して、システムがメールを送信する方法を設定します。

ステップ2 - GitLabをインストールする

cd /tmp
curl -LO https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh

ダウンロードしたスクリプトを自由に調べて、目的の操作に満足できるかどうかを確認してください。スクリプトのホストバージョンもここで見つかります:

/tmp/script.deb.sh を少なくする

スクリプトのセキュリティに満足したら、インストーラーを実行します。

sudo bash /tmp/script.deb.sh

このスクリプトは、GitLab によって管理されているリポジトリを使用するようにサーバーを設定します。これにより、他のシステム パッケージと同じパッケージ管理ツールを使用して GitLab を管理できるようになります。完了したら、次のaptコマンドを使用して実際の G​​itLab アプリケーションをインストールできます。

sudo apt でgitlab-ceをインストールします

これにより、システムに必要なコンポーネントがインストールされます。

予防

GitLab アプリケーションのインストール中に次のエラーが報告された場合は、国内のアクセラレーション ミラーを設定できます。

エラーメッセージ:

# apt-get をインストール gitlab-ce
パッケージリストを読み込んでいます...完了
依存関係ツリーの構築
状態情報を読み込んでいます...完了
E: パッケージ gitlab-ce が見つかりません

インストールスクリプトを変更する

sudo vim /etc/apt/sources.list.d/gitlab_gitlab-ce.list

古い

deb https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ フォーカルメイン
deb-src https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ フォーカルメイン

新しい

deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu フォーカルメイン
deb-src https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu フォーカルメイン

再度実行

sudo aptアップデート
sudo apt でgitlab-ceをインストールします

参考リンク: https://gitlab.com/gitlab-org/gitlab-foss/-/issues/2370

ステップ3 - ファイアウォールルールを調整する

GitLab を構成する前に、ファイアウォール ルールが Web トラフィックを許可するのに十分な権限を持っていることを確認する必要があります。前提条件にリンクされているガイドに従った場合、 ufwファイアウォールが有効になります。

次のように入力して、アクティブなファイアウォールの現在のステータスを表示します。

sudo ufw ステータス
ステータス: アクティブ

アクションへ
-- ------ ----
80 どこでも許可         
22 どこでも許可         
80 (v6) どこでも許可 (v6)       
22 (v6) どこでも許可 (v6)

ご覧のとおり、現在のルールでは SSH トラフィックは通過できますが、他のサービスへのアクセスは制限されています。 GitLab は Web アプリケーションなので、HTTP アクセスを許可する必要があります。 GitLab の機能を活用して Let's Encrypt から無料の TLS/SSL 証明書をリクエストして有効化するため、HTTPS アクセスも許可します。

HTTP および HTTPS のポート マッピング プロトコルは/etc/servicesファイルで使用できるため、名前でそのトラフィックを許可できます。 OpenSSH トラフィックをまだ有効にしていない場合は、ここでも許可する必要があります。

sudo ufw 許可 http
sudo ufw 許可 https
sudo ufw OpenSSHを許可する

ufw statusを再度確認する

ステータス: アクティブ

アクションへ
-- ------ ----
80 どこでも許可         
22 どこでも許可         
80/tcp どこでも許可         
443/tcp どこでも許可         
OpenSSH どこでも許可         
80 (v6) どこでも許可 (v6)       
22 (v6) どこでも許可 (v6)       
80/tcp (v6) どこでも許可 (v6)       
443/tcp (v6) どこでも許可 (v6)       
OpenSSH (v6) どこでも許可 (v6)

ステップ4 - GitLab設定ファイルを編集する

アプリケーションを使用する前に、構成ファイルを更新し、再構成コマンドを実行する必要があります。まず、Gitlab 設定ファイルを開きます。

sudo vim /etc/gitlab/gitlab.rb

上部近くにexternal_url構成行があります。ドメインに合わせて更新してください。 GitLab がユーザーを Let's Encrypt 証明書で保護されたサイトに自動的にリダイレクトするように、 httphttpsに変更します。

GitLabのURL
##! GitLab にアクセスできる URL。
##! external_url の設定の詳細については、以下を参照してください。
##! https://docs.gitlab.com/omnibus/settings/configuration.html#gitlab の外部 URL を設定する
##!
##! 注意: インストール/アップグレード中、環境変数の値は
##! この値を入力/置換するには EXTERNAL_URL が使用されます。
##! AWS EC2インスタンスでは、パブリックホスト名/IPの取得も試みます。
##! AWS からのアドレス。詳細については、以下を参照してください。
##! https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html
external_url 'https://example.com' // これをドメイン名またはIPアドレスに変更します

次に、 letsencrypt['contact_emails']設定を探します。この設定は、ドメインに問題がある場合、Let's Encrypt プロジェクトが連絡するために使用できる電子メール アドレスのリストを定義します。問題があれば認識できるように、コメントを外してこれを記入しておくことをお勧めします。

letsencrypt['contact_emails'] = ['[email protected]'] // これを自分のメールアドレスに変更します

ファイルを保存して閉じます。 Gitlab を再構成するには、次のコマンドを実行します。

sudo gitlab-ctl 再構成

これにより、サーバーに関して見つかった情報を使用して GitLab が初期化されます。これは完全に自動化されたプロセスなので、プロンプトに答える必要はありません。このプロセスにより、ドメインの Let's Encrypt 証明書も構成されます。

sudo gitlab-ctlを再起動します

GitLabを再起動します。

GitLab でよく使われるコマンドを添付します。

導入

GitLab CE または Community Edition は、主に Git リポジトリのホスティングや、問題追跡などの開発関連の機能に使用されるオープンソース アプリケーションです。これは、独自のインフラストラクチャを使用してホストするように設計されており、開発チームに、内部リポジトリ、ユーザーと対話するための公開方法、または貢献者が独自のプロジェクトをホストする方法を展開する柔軟性を提供します。

GitLab プロジェクトでは、シンプルなインストール メカニズムを使用して、独自のハードウェア上に GitLab インスタンスをセットアップすることが比較的簡単になります。このガイドでは、Alibaba Cloud Ubuntu 20.04 サーバーに GitLab をインストールして構成する方法について説明します。

前提条件

GitLab をデプロイするためのインスタンスには、少なくとも 2 つの vCPU と 4 GiB のメモリが必要です。この例で使用されるリソース バージョンは次のとおりです。

  • インスタンス仕様: ECS 共有 s6 2 コア 4G 1M 帯域幅
  • オペレーティングシステム: Ubuntu 20.04

次の表に示すセキュリティ グループ ルールが追加されました。

方向プロトコル/アプリケーションポート/範囲送信元アドレス
入線方向HTTP(80) 80 0.0.0.0/0
一般的なコマンド例示する
sudo gitlab-ctl 再構成設定を再読み込みし、/etc/gitlab/gitlab.rbファイルを変更するたびに実行します。
sudo gitlab-ctlステータスGitLabのステータスを表示
sudo gitlab-ctl を開始GitLabを起動する
sudo gitlab-ctl を停止しますGitLabを停止する
sudo gitlab-ctlを再起動しますGitLabを再起動する
sudo gitlab-ctl テールすべてのログを表示
sudo gitlab-ctl tail nginx/gitlab_access.log nginx アクセスログを表示する
sudo gitlab-ctl テール postgresql postgresqlログを表示

ステップ5 - Webインターフェース経由で初期設定を実行する

GitLab が実行され、アクセス可能になったら、Web インターフェースを通じてアプリケーションの初期構成を実行できます。

ステップ5 - 初回ログイン

Web ブラウザで GitLab サーバーのドメイン名にアクセスします。

https://example.com // external_url で設定したアドレス

初めてアクセスすると、管理者アカウントのパスワードを設定するための初期プロンプトが表示されます。ルート管理者のパスワードを変更した後は、通常どおり使用できます。

ステップ6 - 結論

これで、独自のサーバー上でホストされた GitLab インスタンスが動作するはずです。新しいプロジェクトのインポートまたは作成を開始し、チームに適切なアクセス レベルを構成できます。 GitLab は定期的に機能を追加し、プラットフォームを更新します。そのため、改善点や重要なお知らせを常に把握するために、必ずプロジェクトのホームページを確認してください。

GitLabは起動時に自動的に起動します

GitLabの起動コマンドを次のように設定します

sudo systemctl gitlab-runsvdir.service を有効にします

GitLab 起動コマンドを無効にする:

sudo systemctl gitlab-runsvdir.service を無効にします

GitLab メール設定

以下はQQメールボックスを例にしています

ステップ1 - QQメールボックスのPOP3/SMTPサービスを有効にし、認証コードを保存します

この手順はQQメールボックス設定 -> アカウントにあります

[有効にする] をクリックし、プロンプトに従って対応する認証コードを取得します (注: 後で使用するために認証コードを覚えておいてください)

ステップ2 - GitLab設定ファイルを変更する

sudo vim /etc/gitlab/gitlab.rb
#メールのソースと表示名を設定する gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'QQのメールアドレス'
gitlab_rails['gitlab_email_display_name'] = 'メールの表示名'

#smtp 設定 gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "QQのメールアドレス"
gitlab_rails['smtp_password'] = "認証コード"
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = "ログイン"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true

ステップ3 - 構成を再読み込みする

sudo gitlab-ctl 再構成

ステップ4 - テストメールを送信する

sudo gitlab-railsコンソール

#コンソールに入り、メールを送信します。Notify.test_email('テストメールアドレス', 'メールタイトル', 'メール本文').deliver_now

メールボックスをチェックして、メールを受信したかどうかを確認してください。

GitLabがポートを変更

GitLab のデフォルト ポートは 80 です。ポート 9091 に変更する場合は、GitLab 構成ファイルを変更する必要があります。

sudo vim /etc/gitlab/gitlab.rb

次の設定を変更します

nginx['listen_port'] = 9091 // GitLab ポート、デフォルト ポート 80 unicorn['port'] = 9092 // 変更不可、デフォルト リスニング ポート 8080

設定を再読み込み

sudo gitlab-ctl 再構成

変更は成功しました。

GitLabページのセットアップ

GitLabの設定ファイルを変更する

sudo vim /etc/gitlab/gitlab.rb

次の設定を変更します

gitlab_pages['enable'] = true; Pages サービスを有効にします pages_external_url 'GitLab Pages ドメイン名アドレス'; 独自のドメイン名に置き換えます gitlab_pages['inplace_chroot'] = true; Docker コンテナとして実行されている Gitlab ではこれを有効にする必要があります pages_nginx['enable'] = true; Pages サービスの vhost を有効にします。このオプションを有効にすると、gitlab-pages.conf という名前の独立した Nginx 構成ファイルが /var/opt/gitlab/nginx/conf ディレクトリに生成されます。
gitlab_pages['access_control'] = true は、ページのアクセス制御を有効にします。

設定を再読み込み

sudo gitlab-ctl 再構成

GitLabランナーの設定

ステップ1 - インストール

公式サイトのインストールプロセスを参照してください: https://docs.gitlab.com/runner/install/linux-repository.html

ステップ2 - 登録

公式ウェブサイトの登録プロセスを参照してください: https://docs.gitlab.com/runner/register/

参考リンク

Ubuntu 18.04 に GitLab をインストールして設定する方法 - クラウド + コミュニティ - Tencent Cloud

Ubuntu の GitLab の簡単なインストールと設定 - Cricket in the Fields - Blog Garden

Ubuntu 18.04にgitlab国内ミラーアクセラレーションをインストールする_Linuxチュートリアル_雲王牛駅

Ubuntu 18.04が国内高速ソースを置き換える_Linuxチュートリアル_雲王牛駅

Gitlab がデフォルト ポートを変更 - クラウド + コミュニティ - Tencent Cloud

Ununtu16.04 GitLab サーバーの構築に関するチュートリアル - Zhihu

gitlab-runner | ミラーサイト ヘルプ | 清華大学オープンソースソフトウェアミラーサイト | 清華オープンソースミラー

Gitlab Pages サービスを開始 - George

GitLab をダウンロードしてインストールする | GitLab

Ubuntu 20.04 に GitLab をインストールして設定する手順については、これで終わりです。Ubuntu 20.04 に GitLab をインストールして設定する方法の詳細については、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Ubuntu での AndroidStudio4.1 の起動エラー問題の解決方法
  • Vscode が Ubuntu にリモート接続する際のエラー問題の解決方法
  • VS Code の使用と Ubuntu での C/C++ プラグインのインストールに関する詳細なチュートリアル
  • Ubuntu でパスワードを変更し、パスワードの複雑さのポリシーを設定する方法
  • Ubuntuはポート22を開きます
  • Ubuntu 20.04にvncserverをインストールする方法
  • Ubuntu20.04 VNCのインストールと設定の実装
  • Ubuntu 構成 Pytorch on Graph (PoG) 環境プロセス図

<<:  タブ効果を実現する js 開発プラグイン

>>:  数千万のMySQLデータ量を素早くページ分割する方法

推薦する

MySQL テーブルの追加、削除、変更、クエリの基本チュートリアル

1. 作成する [テーブル名] (フィールド1、フィールド2、...) 値 (値1、値2、...) ...

MySQLクエリのパフォーマンスに影響を与える大きなオフセットの理由と最適化の詳細な説明

序文MySQL クエリは select コマンドを使用し、limit および offset パラメー...

Axios を使用して Vue2 がリクエストを開始する詳細なプロセス記録

目次序文Axiosのインストールと設定シンプルなGETリクエストを開始するPOSTリクエストを行うシ...

jQueryはフォントサイズ調整ケースを実装します

この記事では、フォントサイズを調整するためのjQueryの具体的なコードを参考までに紹介します。具体...

CSS変換ページめくりアニメーションレコードの実装

ページめくりの問題のシナリオBとCは同じページ(表と裏)にありますページをめくって A をカバーした...

Docker を使用して Nginx+Flask+Mongo アプリケーションをデプロイする

サーバーにはNginx、データベースサポートにはMongo、Python言語のWebフレームワークに...

Vueは小さな検索機能を実装する

この記事の例では、検索機能を実装するためのVueの具体的なコードを参考までに共有しています。具体的な...

JavaScript の setTimeout() の使用法の概要

目次1. はじめに2. setIntervalとsetTimeoutの違い3.タイムアウトを設定する...

実行中のDockerコンテナのポートマッピングを変更する方法

序文docker run がコンテナを作成して実行するときに、-p を使用してポート マッピング ル...

この記事では、Vueのフロントエンドページングとバックエンドページングを実装する方法を説明します。

目次1: フロントエンドの手書きページング(データ量が少ない場合) 2: バックエンドのページング、...

丸い角や鋭い角の代わりに文字を使用することに関する研究経験の共有

1. フォントと文字表示の関係左側と右側の鋭角部分は Songti フォントで表示されます: &l...

MySQL 5.x の文字化け問題の解決方法

MySQL はよく使われるオープンソースのデータベース ソフトウェアですが、初めてのユーザーにはあま...

Reactフックとzarmコンポーネントライブラリ構成に基づいてh5フォームページを開発するためのサンプルコード

最近、React Hooks を zarm コンポーネント ライブラリと組み合わせて使用​​し、js...

Linux での MySQL データベースのアンインストール

Linux で MySQL データベースをアンインストールするにはどうすればいいですか? 以下では、...