すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:GitLabのインストールと使用

最終更新日:Aug 22, 2024

このトピックでは、Linux Elastic Compute Service (ECS) インスタンスにGitLabをインストールし、GitLabを使用する方法について説明します。

前提条件

ECSインスタンスが作成され、次の要件を満たしています。

  • IPアドレス: ECSインスタンスは、静的パブリックIPアドレス (システム割り当てまたは自動割り当てパブリックIPアドレスとも呼ばれます) またはelastic IPアドレス (EIP) に関連付けられています。 EIPをECSインスタンスに関連付ける方法については、「EIPの関連付けまたは関連付けの解除」トピックの「1つ以上のEIPをインスタンスに関連付ける」セクションをご参照ください。

  • ECSインスタンスのインスタンスタイプは、チームのサイズと予想されるワークロードに適しています。 1,000人のチームの場合、少なくとも8つのvCPUと8 GiBのメモリを持つインスタンスタイプを使用することを推奨します。 詳細については、「インストールシステム要件」をご参照ください。

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

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

GitLabのインストール

Alibaba Cloud Linux 3にJiHu GitLabをインストールする

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

  • Alibaba Cloud Linux 3を実行するECSインスタンスにGitLab Community Editionをインストールするには、オペレーティングシステムに依存しないDocker Engineを使用します。

  • 別のオペレーティングシステムを実行するECSインスタンスにGitLab Community Editionをインストールするには、このトピックの「UbuntuまたはDebianにGitLab Community Editionをインストールする」セクションで説明されている操作を実行します。

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

    詳細については、「パスワードまたはキーを使用したLinuxインスタンスへの接続」をご参照ください。

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

    sudo yum install -y curl python3-policycoreutils openssh-server
  3. SSHサービスを起動し、システム起動時に実行するようにサービスを設定します。

    sudo systemctl start sshd
    sudo systemctl enable sshd
  4. (オプション) Postfixをインストールおよび設定します。

    Postfixは、GitLabから通知メールを送信するために使用されます。 他の方法を使用して通知メールを送信する場合は、GitLabをインストールした後、この手順をスキップして外部の簡易メール転送プロトコル (SMTP) サーバーを設定します。 詳細については、「SMTP設定」をご参照ください。

    1. Postfixをインストールします。

      sudo yum install -y postfix

      次のようなエラーメッセージが表示された場合は、rpm -- import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 コマンドを実行し、Postfixを再インストールします。

      Falling package is : mysql-community-libs-compat-5.7.41-1.el7.x86_64
      GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
    2. Postfixを起動し、システム起動時に実行するようにPostfixを設定します。

      sudo systemctl start postfix
      sudo systemctl enable postfix
  5. GitLabパッケージのリポジトリを追加します。

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

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

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

    image.png

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

    sudo EXTERNAL_URL=<Public IP address of the GitLab server> yum install -y gitlab-jh 

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

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

    低仕様のインスタンスタイプのECSインスタンスにGitLabをインストールする場合、インストールが完了するまでに長時間かかる場合があります。 インストール中、GitLabはInstalling状態のままです。 インストールが完了するのを待ちます。

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

    image.png

UbuntuまたはDebianにGitLab Community Editionをインストールする

GitLab Community EditionはAlibaba Cloud Linux 3をサポートしていません。 このセクションでは、UbuntuまたはDebianにGitLab Community Editionをインストールする方法について説明します。 GitLab Community Editionを他のオペレーティングシステムにインストールする方法については、「GitLab Community Editionのインストール」をご参照ください。

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

    詳細については、「パスワードまたはキーを使用したLinuxインスタンスへの接続」をご参照ください。

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

    sudo apt-getアップデート
    sudo apt-get install -y curl openssh-server ca-certificates tzdata perl 
  3. SSHサービスを起動し、システム起動時に実行するようにサービスを設定します。

    sudo systemctl start sshd
    sudo systemctlを有効にするsshd 
  4. (オプション) Postfixをインストールおよび設定します。

    Postfixは、GitLabから通知メールを送信するために使用されます。 他の方法で通知メールを送信する場合は、GitLabをインストールした後、この手順をスキップして外部SMTPサーバーを設定します。 詳細については、「SMTP設定」をご参照ください。

    1. Postfixをインストールします。

      sudo apt-get install -y postfix
    2. Postfixを起動し、システム起動時に実行するようにPostfixを設定します。

      sudo systemctl start postfix
      sudo systemctl有効化postfix 
  5. GitLabパッケージのリポジトリを追加します。

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

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

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

    image

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

    sudo apt-getアップデート
  7. GitLabをインストールします。

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

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

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

    低仕様のインスタンスタイプのECSインスタンスにGitLabをインストールする場合、インストールが完了するまでに長時間かかる場合があります。 インストール中、GitLabはInstalling状態のままです。 インストールが完了するのを待ちます。

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

    image

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

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

    詳細については、「パスワードまたはキーを使用したLinuxインスタンスへの接続」をご参照ください。

  2. Dockerをインストールします。

    詳細については、「LinuxインスタンスへのDockerのインストールと使用」をご参照ください。

  3. GitLabデータを保存するディレクトリを作成します。

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

    エクスポートGITLAB_HOME=/srv/gitlab
  5. GitLabイメージを引き出します。

    sudo docker pull gitlab/gitlab-ce

    次のコマンド出力は、GitLabイメージがプルされたことを示します。

    image.png

  6. GitLabコンテナーイメージをインストールします。

    説明
    • hostname: ホスト名。 このパラメーターをECSインスタンスのパブリックIPアドレスに置き換えることを推奨します。

    • publish 443:443: HTTPSアクセスを許可するために、コンテナーのポート443をホストのポート443にマップします。

    • publish 8080:80: コンテナのポート80をホストのポート8080にマップして、HTTPアクセスを許可します。

    • publish 5000:22: コンテナーのポート22をホストのポート5000にマップし、SSHサービスを許可します。

    ECSインスタンスのセキュリティグループのインバウンドルールは、ポート443、8080、および5000を開く必要があります。

    sudo docker run -- detach \
      -- hostnam e gitlab.example.com \
      -- publish 443:443 -- publish 8080:80 -- publish 5000:22 \
      -- 名前gitlab \
      -- 常に再起動 \
      -- volume $GITLAB_HOME/config:/etc/gitlab \
      -- volume $GITLAB_HOME/logs:/var/log/gitlab \
      -- volume $GITLAB_HOME/data:/var/opt/gitlab \
      -- shmサイズ256m \
      gitlab/gitlab-ce: 最新 
  7. コンテナーのステータスを表示します。

    sudo docker ps -a

    コンテナが正常な状態にある場合、GitLabコンテナが起動されます。

    image.png

GitLabを使用する

このセクションでは、GitLab Community Editionの使用方法について説明します。 GitLab Community Editionを使用する手順は、JiHu GitLabを使用する手順と同様です。

GitLabにログオン

  1. GitLabのパスワードを取得します。

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

    • GitLabがDocker Engineを使用してインストールされている場合は、次のコマンドを実行します。sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password

    次のコマンド出力が返されます。 passwordの値からGitLabの初期パスワードを取得します。

    重要

    セキュリティのため、ファイルは24時間以内に自動的に削除されます。 初回ログオン時に初期パスワードを変更することを推奨します。

    image.png

  2. GitLabにログインします。

    • GitLabがLinuxインストールパッケージを使用してインストールされている場合、ブラウザーのアドレスバーにhttp:// ECSインスタンスのパブリックIPアドレスと入力して、GitLabログインページに移動します。

    • GitLabがDocker Engineを使用してインストールされている場合、ブラウザーのアドレスバーにhttp:// ECSインスタンスのパブリックIPアドレス: 8080と入力して、GitLabログインページに移動します。

    GitLabに初めてログインするときは、rootユーザー名とステップ1で取得したパスワードを使用します。 asda5

キーペアファイルを生成して公開鍵を取得

  1. Gitをインストールします。

    sudo yum install git
  2. id_rsaという名前のキーペアファイルを生成します。

    ssh-keygen

    キーペアファイルが生成されると、キーペアファイルを保存するパスワードとパスを指定するように求められます。 パスを指定するか、入力デフォルトを使用するキー. 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****

    -rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDQVwWjF3KXmI549jDI0fuCgl syJjjn55iMUDRRiCd/B 9TwUda3l9WXH5i7RU53QGRCsDVFZxixLOlmXr9E3VSqkf 8 xXBn0db /5E2z5PIOCN0nxfB9xeA 1db/QxPwK4gkHisep + eNHRn9x + DpCYDoSoYQN0nBg + H3uqfOqL42mJ + 8KNyf*Twz4Aq7wjv + B20s1v +

プロジェクトの作成

  1. GitLabのホームページで、[Create new project] をクリックしてプロジェクトを作成します。

    ada55

  2. [空白プロジェクトの作成] をクリックし、[プロジェクト名][プロジェクトURL] を設定し、[プロジェクトの作成] をクリックします。

    この例では、myworkという名前のプロジェクトが作成されます。

    asda566

  3. SSHキーを追加します。

    1. 作成したプロジェクトの [プロジェクトの概要] ページで、[SSHキーの追加] をクリックします。sdaa

    2. id_rsa.pub公開鍵ファイルの内容をkeyフィールドに貼り付けます。asda

    3. [キーの追加] をクリックします。

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

  4. プロジェクトのクローンリンクをコピーします。 リンクを使用してプロジェクトを複製できます。

    项目地址

GitLabの使用

  1. Gitユーザーを設定します。

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

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

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

    git clone git@101.132.XX.XX:root/mywork.git

    简单配置

  3. GitLabサーバーにファイルをアップロードします。

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

      cd mywork/
    2. GitLabにアップロードするファイルを作成します。

      echo "test" > /home/test/test.sh
    3. ファイルまたはディレクトリをオンプレミスのプロジェクトディレクトリにコピーします。

      cp /home/test/test.sh ./ 
    4. test.shファイルをインデックスに追加します。

      git add test.sh
    5. test.shファイルをオンプレミスリポジトリにコミットします。

      git commit -m "test.sh"
    6. ファイルをGitLabサーバーにプッシュします。

      git push -u origin main

      文件同步命令

      次の図は、test.shファイルがGitLabサーバーにプッシュされたことを示すページを示しています。 ページでファイルを表示できます。文件同步结果

関連ドキュメント

一般的なGitLabコマンド、データバックアップ、設定オプション、ユーザー管理、他のサービスとの統合、トラブルシューティングなどのGitLab操作の詳細については、「GitLab公式ドキュメント」をご参照ください。