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データ量を素早くページ分割する方法

推薦する

PHP スケジュールバックアップ MySQL および mysqldump 構文パラメータの詳細

まず、MySQL バックアップ コマンド mysqldump の一般的な操作例をいくつか紹介します。...

Nodejs でタイムドクローラーを実装する完全な例

目次事件の原因Node Scheduleを使用してスケジュールされたタスクを実装する1. node-...

CentOSバージョンにDockerをインストールする際のエラーの解決方法

1. バージョン情報 # cat /etc/system-release CentOS Linux ...

テキストエリア テキストエリアの幅と高さ 幅と高さの自動適応実装コード

コードをコピーコードは次のとおりです。 <HTML> <ヘッド> <T...

iframeフレームはIEブラウザで白い背景を透明に設定します

最近、プロジェクトを進める過程で、ページの階層構造を描画するために iframe を頻繁に使用する必...

フォームから Vue ElementUI を使用してログイン効果を実装する例

目次1. ElementUIで基本的なスタイルを構築する2. [送信]ボタンをクリックして、アカウン...

Mysql テーブルで利用可能な最小 ID 値を照会する方法

今日、研究室のプロジェクトを見ていたとき、私にとって「難しい」問題に遭遇しました。実は、それは私があ...

CSS で 3 列レイアウトを実装するいくつかの方法と利点と欠点

序文3 列レイアウトは、その名前が示すように、両側が固定され、中央が適応します。実際の開発では、3 ...

親要素を基準にCSSの位置を絶対的に設定する方法についての簡単な説明

ご存知のとおり、CSS の絶対位置はデフォルトでドキュメントに応じて設定されます。たとえば、posi...

JavaScriptの信頼性の低い未定義

undefined JavaScript では、値が undefined かどうかを判断したい場合は...

Raspberry Pi 3B+ に 64 ビット Ubuntu システムと Docker ツールをインストールする詳細な手順

Raspberry Pi 3B に 64 ビット アプリケーション (64 ビット JDK など) ...

初心者のためのWebページ作成: HTMLのハイパーリンクAタグの使い方を学ぶ

ハイパーリンク a タグはリンク ポイントを表し、英語の単語「anchor」の略語です。その機能は、...

フロントエンドコンポーネント化の基礎知識を詳しく解説

目次コンポーネントの基本概念オブジェクトとコンポーネントの違い成分属性属性とプロパティ属性:財産:ク...

Vue2.xは、ユーザーのログインと終了を実装するためにルーティングナビゲーションガードを設定します。

目次序文1. ルーティングナビゲーションガードを設定する1. グローバルナビゲーションガード2. ロ...

WeChatアプレットはキャンバスを使用して時計を描画します

この記事では、キャンバスを使用してWeChatアプレットに時計を描く具体的なコードを参考までに共有し...