このページは機械翻訳によるものです。内容の正確さは保証しておりません。 人力翻訳を依頼する

GitLab コードホスティングプラットフォームをデプロイする

更新日時2025-02-14 17:32

GitLab は、Git ベースのコードホスティングおよびコラボレーションプラットフォームであり、コード管理から継続的インテグレーションおよび継続的デプロイメント(CI/CD)まで、DevOps のあらゆる機能を提供します。このトピックでは、Linux Elastic Compute Service(ECS)インスタンスに GitLab をデプロイして、コードホスティングプラットフォームを構築する方法について説明します。

クイックデプロイ

こちらをクリックして Terraform Explorer に移動し、Terraform コードを表示および実行して、ECS インスタンスに GitLab コードホスティングプラットフォームを自動的にデプロイします。

前提条件

ECS インスタンスが作成され、以下の要件を満たしていること。

  • オペレーティングシステム:ECS インスタンスで Linux オペレーティングシステムが実行されている。サポートされているオペレーティングシステムについては、「サポートされているオペレーティングシステム」を参照してください。

    • パブリック IP アドレスが ECS インスタンスに自動的に割り当てられている。または、Elastic IP アドレス(EIP)が ECS インスタンスに関連付けられている。パブリック帯域幅を有効にする方法については、「パブリック帯域幅を有効にする」をご参照ください。

  • ポート 80、443、および 22 を開くために、ECS インスタンスのセキュリティグループにインバウンドルールが追加されている。セキュリティグループルールの追加方法については、「セキュリティグループルールを追加する」をご参照ください。ポートについては、「共通ポート」をご参照ください。

  • ECS インスタンスのインスタンスタイプが、チームの規模と予想されるワークロードに適している。少なくとも 4 vCPU と 8 GiB のメモリを搭載したインスタンスタイプを使用することをお勧めします。詳細については、「GitLab インストール要件」および「メモリ制約のある環境での GitLab の実行」を参照してください。

    重要

    4 vCPU と 8 GiB のメモリ未満のインスタンスタイプを使用すると、インストールプロセスが [インストール中] 状態のまま長時間続いたり、失敗したりする可能性があります。GitLab をインストールする前に、インスタンスタイプをスペックアップしてください。インスタンスタイプをスペックアップする方法については、「インスタンス構成の変更の概要」をご参照ください。

GitLab をインストールする

GitLab エディションには、Enterprise Edition、Community Edition、および JiHu Edition が含まれます。JiHu GitLab は、中国本土、香港(中国)、マカオ(中国)でリリースされたエンタープライズレベルの GitLab エディションです。すべての JiHu GitLab サーバーは中国にあります。

方式 1:インストールパッケージを使用する

GitLab のインストールに使用されるコマンドとサポートされているオペレーティングシステムは、GitLab エディションによって異なります。次のセクションでは、GitLab Community Edition と JiHu GitLab をインストールする方法について説明します。

GitLab Community Edition

  • ECS インスタンスで Alibaba Cloud Linux 3 が実行されている場合、インストールパッケージを使用して JiHu GitLab のみをインスタンスにインストールできます。Alibaba Cloud Linux 3 に GitLab Community Edition をインストールするには、Docker イメージを使用します。

CentOS 7.x
Ubuntu

  1. GitLab をインストールする ECS インスタンスに接続します。

    詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。

  2. GitLab パッケージリポジトリを追加します。

    curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
  3. GitLab に必要な依存関係をインストールします。

    sudo yum install -y curl python3-policycoreutils openssh-server
  4. GitLab Community Edition をインストールします。

    sudo EXTERNAL_URL=<GitLab サーバーのパブリック IP アドレス> sudo yum install -y gitlab-ce

    上記のコマンドで、<GitLab サーバーのパブリック IP アドレス> を、GitLab をインストールする ECS インスタンスの パブリック IP アドレスに置き換えます。

    重要

    4 vCPU と 8 GiB のメモリ未満のインスタンスタイプを使用すると、インストールプロセスが [インストール中] 状態のまま長時間続いたり、失敗したりする可能性があります。GitLab をインストールする前に、インスタンスタイプをスペックアップしてください。インスタンスタイプをスペックアップする方法については、「インスタンス構成の変更の概要」をご参照ください。

    次のコマンド出力は、GitLab がインストールされたことを示しています。

    image

  1. GitLab をインストールする ECS インスタンスに接続します。

    詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。

  2. GitLab に必要な依存関係をインストールします。

    sudo apt-get update
    sudo apt-get install -y curl openssh-server ca-certificates tzdata perl
  3. GitLab パッケージリポジトリを追加します。

    sudo curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

    注記

    ネットワークの問題により、GitLab パッケージリポジトリの追加に失敗する可能性があります。この問題が発生した場合は、GitLab パッケージリポジトリを再度追加することをお勧めします。

    次のコマンド出力は、GitLab パッケージリポジトリが追加されたことを示しています。

    image

  4. ソフトウェアパッケージリストを更新します。

    sudo apt-get update
  5. GitLab をインストールします。

    sudo EXTERNAL_URL=<GitLab サーバーのパブリック IP アドレス> apt-get install -y gitlab-ce

    上記のコマンドで、<GitLab サーバーのパブリック IP アドレス> を、GitLab をインストールする ECS インスタンスの パブリック IP アドレスに置き換えます。

    重要

    4 vCPU と 8 GiB のメモリ未満のインスタンスタイプを使用すると、インストールプロセスが [インストール中] 状態のまま長時間続いたり、失敗したりする可能性があります。GitLab をインストールする前に、インスタンスタイプをスペックアップしてください。インスタンスタイプをスペックアップする方法については、「インスタンス構成の変更の概要」をご参照ください。

    次のコマンド出力は、GitLab がインストールされたことを示しています。

    image

JiHu GitLab

Alibaba Cloud Linux 3 または CentOS 7.x
Ubuntu
  1. GitLab をインストールする ECS インスタンスに接続します。

    詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。

  2. GitLab に必要な依存関係をインストールします。

    sudo yum install -y curl python3-policycoreutils openssh-server
  3. GitLab パッケージリポジトリを追加します。

    curl -fsSL https://get.gitlab.cn | sudo /bin/bash
    説明

    ネットワークの問題により、GitLab パッケージリポジトリの追加に失敗する可能性があります。この問題が発生した場合は、GitLab パッケージリポジトリを再度追加することをお勧めします。

    次のコマンド出力は、GitLab パッケージリポジトリが追加されたことを示しています。

    image.png

  4. GitLab をインストールします。

    sudo EXTERNAL_URL=<GitLab サーバーのパブリック IP アドレス> yum install -y gitlab-jh

    上記のコマンドで、<GitLab サーバーのパブリック IP アドレス> を、GitLab をインストールする ECS インスタンスのパブリック IP アドレスに置き換えます。

    重要

    4 vCPU と 8 GiB のメモリ未満のインスタンスタイプを使用すると、インストールプロセスが [インストール中] 状態のまま長時間続いたり、失敗したりする可能性があります。GitLab をインストールする前に、インスタンスタイプをスペックアップしてください。インスタンスタイプをスペックアップする方法については、「インスタンス構成の変更の概要」をご参照ください。

    次のコマンド出力は、GitLab がインストールされたことを示しています。

    image.png

  1. GitLab をインストールする ECS インスタンスに接続します。

    詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。

  2. GitLab に必要な依存関係をインストールします。

    sudo apt-get update
    sudo apt-get install -y curl openssh-server ca-certificates tzdata perl
  3. JiHu GitLab をインストールするために使用するパッケージリポジトリを追加します。

    curl -L get.gitlab.cn | bash

    image

  4. GitLab をインストールします。

    sudo EXTERNAL_URL=<GitLab サーバーのパブリック IP アドレス> apt-get install -y gitlab-jh

    上記のコマンドで、<GitLab サーバーのパブリック IP アドレス> を、GitLab をインストールする ECS インスタンスのパブリック IP アドレスに置き換えます。コマンド例:

    sudo EXTERNAL_URL=101.132.XX.XX apt-get install -y gitlab-jh
    重要

    4 vCPU と 8 GiB のメモリ未満のインスタンスタイプを使用すると、インストールプロセスが [インストール中] 状態のまま長時間続いたり、失敗したりする可能性があります。GitLab をインストールする前に、インスタンスタイプをスペックアップしてください。インスタンスタイプをスペックアップする方法については、「インスタンス構成の変更の概要」をご参照ください。

    次のコマンド出力は、GitLab がインストールされたことを示しています。

    image.png

方式 2:Docker イメージを使用する

Docker イメージを使用して GitLab をインストールする

  1. GitLab をインストールする ECS インスタンスに接続します。

    詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。

  2. Docker をインストールします。詳細については、「Docker をインストールする」をご参照ください。

  3. GitLab の構成、ログ、データファイルなど、GitLab データを格納するディレクトリを作成します。

    sudo mkdir -p /srv/gitlab 
  4. $GITLAB_HOME 環境変数を構成します。

    export GITLAB_HOME=/srv/gitlab
  5. GitLab コンテナイメージをインストールします。

    GitLab Community Edition
    JiHu GitLab
    sudo docker run --detach \
      --hostname gitlab.example.com \
      --publish 443:443 --publish 80:80 --publish 2222:22 \
      --name gitlab \
      --restart always \
      --volume $GITLAB_HOME/config:/etc/gitlab \
      --volume $GITLAB_HOME/logs:/var/log/gitlab \
      --volume $GITLAB_HOME/data:/var/opt/gitlab \
      --shm-size 256m \
      gitlab/gitlab-ce:latest

    コンテナパラメータ

    ホストパラメータの説明

    hostname

    ホスト名。このパラメータには、ECS インスタンスのパブリック IP アドレスを指定することをお勧めします。

    publish 443:443

    ホストのポート 443 をコンテナのポート 443 にマップして、HTTPS アクセスを許可します。ホストポートがすでに使用されていることを示すエラーメッセージが表示された場合は、ホストのポート 443 を、publish 8443:443 のポート 8443 などの非標準ポートに置き換えます。

    説明

    ホストのポート 443 をポート 8443 などの非標準ポートに置き換える場合は、ECS インスタンスのセキュリティグループにインバウンドルールを追加して、非標準ポートを開く必要があります。詳細については、「セキュリティグループルールを追加する」をご参照ください。

    publish 80:80

    ホストのポート 80 をコンテナのポート 80 にマップして、HTTP アクセスを許可します。ホストポートがすでに使用されていることを示すエラーメッセージが表示された場合は、ホストのポート 80 を、publish 8080:80 のポート 8080 などの非標準ポートに置き換えます。

    説明

    ホストのポート 80 をポート 8080 などの非標準ポートに置き換える場合は、ECS インスタンスのセキュリティグループにインバウンドルールを追加して、非標準ポートを開く必要があります。詳細については、「セキュリティグループルールを追加する」をご参照ください。

    publish 2222:22

    ホストのポート 2222 をコンテナのポート 22 にマップして、SSH を許可します。コードのクローン、プッシュ、プルなどの Git 操作を実行する場合は、SSH を使用する必要があります。

    説明

    次の表に、ECS インスタンスとコンテナ間のパスマッピングを示します。

    ECS インスタンスパス

    コンテナパス

    説明

    $GITLAB_HOME/data

    /var/opt/gitlab

    アプリケーションデータを格納します。

    $GITLAB_HOME/logs

    /var/log/gitlab

    GitLab ログファイルを格納します。

    $GITLAB_HOME/config

    /etc/gitlab

    GitLab 構成ファイルを格納します。

    sudo docker run --detach \
      --hostname gitlab.example.com \
      --publish 443:443 --publish 80:80 --publish 2222:22 \
      --name gitlab \
      --restart always \
      --volume $GITLAB_HOME/config:/etc/gitlab \
      --volume $GITLAB_HOME/logs:/var/log/gitlab \
      --volume $GITLAB_HOME/data:/var/opt/gitlab \
      --shm-size 256m \
      registry.gitlab.cn/omnibus/gitlab-jh:latest

    コンテナパラメータ

    ホストパラメータの説明

    hostname

    ホスト名。このパラメータには、ECS インスタンスのパブリック IP アドレスを指定することをお勧めします。

    publish 443:443

    ホストのポート 443 をコンテナのポート 443 にマップして、HTTPS アクセスを許可します。ホストポートがすでに使用されていることを示すエラーメッセージが表示された場合は、ホストのポート 443 を、publish 8443:443 のポート 8443 などの非標準ポートに置き換えます。

    説明

    ホストのポート 443 をポート 8443 などの非標準ポートに置き換える場合は、ECS インスタンスのセキュリティグループにインバウンドルールを追加して、非標準ポートを開く必要があります。詳細については、「セキュリティグループルールを追加する」をご参照ください。

    publish 80:80

    ホストのポート 80 をコンテナのポート 80 にマップして、HTTP アクセスを許可します。ホストポートがすでに使用されていることを示すエラーメッセージが表示された場合は、ホストのポート 80 を、publish 8080:80 のポート 8080 などの非標準ポートに置き換えます。

    説明

    ホストのポート 80 をポート 8080 などの非標準ポートに置き換える場合は、ECS インスタンスのセキュリティグループにインバウンドルールを追加して、非標準ポートを開く必要があります。詳細については、「セキュリティグループルールを追加する」をご参照ください。

    publish 2222:22

    ホストのポート 2222 をコンテナのポート 22 にマップして、SSH を許可します。コードのクローン、プッシュ、プルなどの Git 操作を実行する場合は、SSH を使用する必要があります。

    説明

    次の表に、ECS インスタンスとコンテナ間のパスマッピングを示します。

    ECS インスタンスパス

    コンテナパス

    説明

    $GITLAB_HOME/data

    /var/opt/gitlab

    アプリケーションデータを格納します。

    $GITLAB_HOME/logs

    /var/log/gitlab

    GitLab ログファイルを格納します。

    $GITLAB_HOME/config

    /etc/gitlab

    GitLab 構成ファイルを格納します。

  6. コンテナのステータスを表示します。

    sudo docker ps -a

    コンテナが正常な状態であれば、GitLab コンテナが起動しています。

    image.png

GitLab Web サイトに移動する

  1. Web ブラウザのアドレスバーに GitLab Web サイトの URL を入力します。URL:http://${ECS インスタンスのパブリック IP アドレス}

    重要

    Docker イメージを使用して JitLab をインストールし、ホストのデフォルトの HTTP ポート 80 を非標準ポートに置き換えた場合は、URL の末尾に非標準ポート番号を追加します。

  2. GitLab Web サイトに初めてログインする場合は、ユーザー名として root を入力します。GitLab Web サイトのパスワードを取得するには、GitLab のインストール方法に基づいて、ECS インスタンスで次のコマンドのいずれかを実行します。

    • Linux インストールパッケージを使用して GitLab をインストールした場合は、sudo cat /etc/gitlab/initial_root_password コマンドを実行します。

    • Docker イメージを使用して GitLab をインストールした場合は、sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password コマンドを実行します。

    次のコマンド出力が返されます。Password パラメータの値から GitLab Web サイトの初期パスワードを取得します。

    image.png

    重要

    セキュリティ上の理由から、初期パスワードを記録したファイルは 24 時間後に自動的に削除されます。GitLab Web サイトに初めてログインする場合は、初期パスワードを変更することをお勧めします。パスワードの変更方法については、「ユーザーパスワードをリセットする」を参照してください。

    asda5

  3. [管理] ページに移動します。

    image

  4. [ユーザー] > [承認待ち] ページで、新しいユーザーのアプリケーションを承認します。プロジェクトやユーザーの管理など、その他の操作については、「GitLab 管理エリア」を参照してください。

    image

説明

次の例では、GitLab プロジェクトのリポジトリにファイルをアップロードする方法について説明します。一般的な GitLab コマンド、データバックアップ、構成オプション、ユーザー管理、他のサービスとの統合、トラブルシューティングなどの GitLab 操作の詳細については、「JiHu GitLab」および「GitLab Community Edition」を参照してください。

ユーザーを登録し、パスワードなしのログインを構成する

  1. GitLab Web サイトに移動します[サインイン] の下の [今すぐ登録] をクリックして、ユーザーを作成します。アプリケーションが GitLab 管理者によって承認されたら、新しいユーザーとして GitLab Web サイトにログインします。

  2. オンプレミスデバイスでキーペアファイルを作成します。

    ssh-keygen

    キーペアファイルが生成されているときに、パスワードとキーペアファイルを格納するパスを指定するように求められます。パスを指定するか、Enter キーを押して、現在のユーザーディレクトリのデフォルトパス .ssh/id_rsa を使用できます。例:/home/test/.ssh/id_rsa

    次のコマンド出力が返されます。

    image.png

  3. id_rsa.pub 公開鍵ファイルの内容を表示します。後で使用するために、内容をコピーします。

    cat ~/.ssh/id_rsa.pub

    次のコマンド出力が返されます。

    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDQVwWjF3KXmI549jDI0fuCgl+syJjjn55iMUDRRiCd/B+9TwUda3l9WXH5i7RU53QGRCsDVFZxixLOlmXr9E3VSqkf8xXBnHs/5E2z5PIOCN0nxfB9xeA1db/QxPwK4gkHisep+eNHRn9x+DpCYDoSoYQN0nBg+H3uqfOqL42mJ+tqSfkyqbhjBf1kjtDTlBfVCWtI0siu7owm+c65+8KNyPlj5/0AyJ4Aqk1OX2jv+YE4nTipucn7rHwWuowasPU86l+uBsLNwOSb+H7loJvQyhEINX2FS1KnpRU+ld20t07n+N3ErfX5xBAGfxXpoN9BKKSP+RT7rvTeXTVE**** test@iZuf63zs0dn0qccsisy****
  4. SSH キーを追加します。パスワードなしの認証のために、取得した公開鍵を GitLab アカウントに追加します。

    1. ページの右上隅にあるプロフィール画像をクリックし、[プロフィールを編集] をクリックします。

      image

    2. 左側のナビゲーションウィンドウで、[SSH キー] をクリックします。id_rsa.pub 公開鍵ファイルの内容を Key フィールドに貼り付けて、[キーを追加] をクリックします。

      image

    3. 次のページは、SSH キーが追加されたことを示しています。sda

プロジェクトを作成し、コードホスティングを構成する

プロジェクトを作成する

  1. GitLab ホームページで、右側にある [新しいプロジェクト] をクリックし、[空のプロジェクトを作成] をクリックします。

    ada55

  2. [空のプロジェクトを作成] をクリックし、[プロジェクト名] パラメータと [プロジェクト URL] パラメータを構成して、ページの下部にある [プロジェクトを作成] をクリックします。この例では、mywork という名前のプロジェクトが作成されます。

    image

  3. プロジェクトページに移動し、[SSH でクローン] フィールドの SSH クローン URL をコピーします。この URL は、クローン操作を実行するときに必要になります。

    image

ECS インスタンス上のプロジェクトリポジトリをオンプレミスデバイスにクローンする

  1. オンプレミスデバイスに Git クライアントをインストールします

    sudo yum install git
  2. オンプレミスデバイスで Git ユーザーを構成します。

    1. Git ユーザーのユーザー名を指定します。

      git config --global user.name "testname" 
    2. Git ユーザーのメールアドレスを指定します。

      git config --global user.email "abc@example.com" 
  3. プロジェクトをオンプレミスディレクトリにクローンします。

    1. git clone と入力し、SSH クローン URL を git clone コマンドに貼り付けます。Git は、プロジェクトリポジトリと同じ名前のフォルダを自動的に作成し、プロジェクトリポジトリからフォルダにファイルをダウンロードします。

      git clone ${SSH クローン URL}

      Docker イメージを使用して GitLab をインストールする場合、SSH クローン URL には、次のサンプルコードに示すように、ssh:// と、docker run コマンドで指定されたホストの SSH ポートが含まれている必要があります。

      重要

      プロジェクトページで取得した SSH クローン URL が上記の形式ではなく、URL を直接変更したくない場合は、gitlab_rails['gitlab_shell_ssh_port'] パラメータを変更できます。このようにして、プロジェクトページで正しい形式の URL を取得できます。パラメータの変更方法については、このトピックの「Docker を使用して GitLab を起動するときにポート 22 がすでに使用されている場合はどうすればよいですか?」セクションを参照してください。

      git clone ssh://git@{IP ドメイン名}:{SSH ポート}/root/mywork

      简单配置

    2. オンプレミスプロジェクトディレクトリにアクセスします。

      cd mywork/ 
    3. 現在のブランチの名前を表示します。デフォルト値は main で、これはメインブランチの名前です。

      git branch

ブランチを作成し、変更を加える

ファイル操作を容易にするために、オンプレミスデバイスにブランチを作成します。

  1. example という名前のブランチを作成します。

     git checkout -b example     
  2. test.txt という名前のファイルを作成し、ファイルに Hello World! と書き込みます。ファイルは GitLab Web サイトにアップロードされます。

    echo "Hello World!" > test.txt

変更をコミットしてプッシュする

保存するために、オンプレミスの example ブランチを ECS インスタンス上のプロジェクトリポジトリにプッシュするには、次の手順を実行します。

  1. test.txt ファイルをステージングエリアに追加します。

    git add test.txt
  2. ファイルの変更を確認します。

    git status

    次の出力が返されます。

    On branch example
    Changes to be committed:
      (use "git restore --staged <file>..." to unstage)
            modified:   test.txt
  3. ステージングされている test.txt という名前のファイルをコミットします。

    git commit -m "テスト用"
  4. example ブランチは、オンプレミスデバイスでのみ使用できます。他のユーザーが example ブランチにアクセスできるようにするには、ブランチを ECS インスタンス上のプロジェクトリポジトリにプッシュします。

    git push origin example
  5. example ブランチが ECS インスタンス上のプロジェクトリポジトリにプッシュされると、他のユーザーがブランチを表示できるようになります。

    image

変更をマージする

オンプレミスデバイスで example ブランチの変更を main ブランチにマージし、マージされた main ブランチを ECS インスタンス上のプロジェクトリポジトリにプッシュします。次の手順を実行します。

  1. オンプレミスの main ブランチに切り替えます。

    git checkout main
  2. オンプレミスの example ブランチを main ブランチにマージします。

    git merge example
  3. マージされたオンプレミス main ブランチを ECS インスタンス上のプロジェクトリポジトリにプッシュします。

    git push
  4. オンプレミスの変更が、ECS インスタンス上のプロジェクトリポジトリの main ブランチに同期されます。

    image

    image

次のステップ

メール通知を構成する

GitLab は、プロジェクトの更新やパスワードのリセットに関する通知など、メール通知を送信するためにメール転送エージェントを必要とします。ほとんどの場合、簡易メール転送プロトコル(SMTP)サービスは、ECS インスタンスのポート 25 を使用してメールを送信します。デフォルトでは、セキュリティを確保するために、ECS インスタンスのポート 25 はブロックされています。メールを送信するには、SSL 暗号化ポート(ほとんどの場合ポート 465)を使用することをお勧めします。共通ポートについては、「共通ポート」をご参照ください。SMTP を構成するには、次の手順を実行します。

  1. 外部 SMTP サーバーを構成する

  2. SMTP 構成を確認します。

    1. gitlab-rails console コマンドを実行して、Rails コンソールにログインします。

    2. 次のコマンドを実行して、テストメールを送信します。

      Notify.test_email('destination_email@address.com', 'メッセージの件名', 'メッセージ本文').deliver_now
    3. 宛先メールボックスでテストメールが受信されているかどうかを確認するか、ECS インスタンスで sudo tail -f /var/log/mail.log コマンドを実行してメールログを表示します。

プロジェクトリポジトリのデータをバックアップするプロジェクト リポジトリ内のデータ

GitLab Web サイトのドメイン名を解決する

ユーザーが ECS インスタンスのパブリック IP アドレスを使用して GitLab Web サイトにアクセスできるようにすると、インスタンスのセキュリティが危険にさらされます。ドメイン名を持っている場合、または GitLab Web サイトのドメイン名を登録する場合は、次の手順を実行します。

  1. ドメイン名を登録します。

    詳細については、「Alibaba Cloud でドメイン名を登録する」をご参照ください。

  2. ドメイン名のインターネットコンテンツプロバイダ(ICP)ファイリングを申請します。

    ドメイン名の Web サイトが中国本土リージョンにある ECS インスタンスでホストされている場合は、ICP ファイリングを申請します。

  3. 登録済みドメイン名を解決します。ドメイン名解決設定を構成すると、外部ユーザーはドメイン名を使用して GitLab Web サイトにアクセスできます。

    ドメイン名を使用して GitLab Web サイトにアクセスする場合は、ドメイン名解決が前提条件です。詳細については、「初心者向けガイド」をご参照ください。

  4. HTTPS 暗号化アクセスを有効にします。Let's Encrypt for free automatic HTTPS などの無料サービス、または SSL Certificates Service などの有料サービスを使用します。

  5. セキュリティグループルールを追加する。ECS インスタンスのセキュリティグループにインバウンドルールを追加します。セキュリティ上の理由から、許可された IP アドレスのみが特定のポートにアクセスできるようにすることをお勧めします。

    • パッケージのインストール:ポート 443(HTTPS)

    • Docker イメージのインストール:docker run コマンドで指定されたホスト HTTPS ポート

  6. gitlab.rb ファイルの external_url パラメータを変更します。次の図は、構成結果を示しています。

よくある質問

ECS インスタンスが応答しなくなったり、接続に失敗した場合はどうすればよいですか?

  • 4 vCPU と 8 GiB のメモリ未満のインスタンスタイプを使用して GitLab をインストールすると、インストールプロセスが [インストール中] 状態のまま長時間続いたり、失敗したりする可能性があります。この場合は、GitLab をインストールする前に、インスタンスタイプをスペックアップしてください。インスタンスタイプをスペックアップする方法については、「インスタンス構成の変更の概要」をご参照ください。

  • SSH 経由で ECS インスタンスに接続できない場合は、Virtual Network Computing(VNC)を使用してインスタンスに接続し、スワップスペースを構成してから、Sidekiq を最適化できます。詳細については、「メモリ制約のある環境での GitLab の実行」を参照してください。

  • ECS インスタンスの vCPU 使用率、ネットワークトラフィック、およびディスク I/O 操作を監視します。詳細については、「ECS インスタンスの監視情報を表示する」をご参照ください。

Docker を使用して GitLab を起動するときにポート 22 がすでに使用されている場合はどうすればよいですか?

デフォルトでは、ECS インスタンスは SSH にポート 22 を使用します。Docker イメージを使用して GitLab をインストールする場合は、ホストのポート 22 を別のポートに置き換え、gitlab_rails['gitlab_shell_ssh_port'] パラメータを変更する必要があります。次の手順を実行します。

  1. Docker を起動するときに、ポート 2222 などの非標準ポートを指定します。例:publish 2222:22

  2. GitLab 構成ファイルを変更します。

    1. sudo docker exec -it gitlab /bin/bash コマンドを実行して、セッションを開始します。

    2. /etc/gitlab/gitlab.rb ファイルを編集します。

    3. gitlab_rails['gitlab_shell_ssh_port'] パラメータを 2222 に設定します。

    4. gitlab-ctl reconfigure コマンドを実行して、GitLab を再構成します。

  3. プロジェクトページを開き、構成を確認します。

    image

  • 目次 (1, M)
  • クイックデプロイ
  • 前提条件
  • GitLab をインストールする
  • 方式 1:インストールパッケージを使用する
  • 方式 2:Docker イメージを使用する
  • GitLab Web サイトに移動する
  • ユーザーを登録し、パスワードなしのログインを構成する
  • プロジェクトを作成し、コードホスティングを構成する
  • プロジェクトを作成する
  • ECS インスタンス上のプロジェクトリポジトリをオンプレミスデバイスにクローンする
  • ブランチを作成し、変更を加える
  • 変更をコミットしてプッシュする
  • 変更をマージする
  • 次のステップ
  • メール通知を構成する
  • プロジェクトリポジトリのデータをバックアップするプロジェクト リポジトリ内のデータ
  • GitLab Web サイトのドメイン名を解決する
  • よくある質問
  • ECS インスタンスが応答しなくなったり、接続に失敗した場合はどうすればよいですか?
  • Docker を使用して GitLab を起動するときにポート 22 がすでに使用されている場合はどうすればよいですか?
フィードバック