ウェブサイト検索

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


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

このチュートリアルはこれらのOSバージョンのために存在します

  • Ubuntu 20.04 (フォーカルフォッサ)
  • Ubuntu 18.04 (ビオニックビーバー)
  • Ubuntu 16.04 (ゼニアル・ゼクサス)

このページで

  1. 前提条件
  2. 始めに
  3. GitLab CEをインストールする
  4. GitLabを設定する
  5. Let's EncryptでGitLabを安全にする
  6. GitLabインターフェースにアクセスする
  7. 一般公開のサインアップを無効にする
  8. GitLabの機能を確認する
  9. 結論

GitLabは、Gitリポジトリをホストおよび管理するために使用されるオープンソースのDevOpsライフサイクルツールです。Rubyで書かれており、ウィキ、課題管理、コードレビュー、監視、継続的インテグレーションとデプロイメントなど、多くの機能を提供しています。自分のインフラストラクチャの中でホストすることができ、開発チームのための内部リポジトリをデプロイすることができます。GitLabは、コミュニティエディション(CE)、エンタープライズエディション(EE)、およびGitLabホストされたバージョンの三つのエディションで利用可能です。

このチュートリアルでは、Ubuntu 20.04サーバーにGitLab CEをインストールする方法を示します。

前提条件

  • Ubuntu 20.04を実行しているサーバー。
  • あなたのVPSにポイントされた有効なドメイン名。
  • サーバーにルートパスワードが設定されています。

始めに

まず、システムパッケージを最新バージョンに更新する必要があります。次のコマンドで更新できます:

apt-get update -y
apt-get upgrade -y

システムが更新されたら、次のコマンドで他の必要なパッケージをインストールしてください:

apt-get install apt-transport-https gnupg2 curl -y

必要なパッケージがすべてインストールされたら、次のステップに進むことができます。

GitLab CEをインストールする

デフォルトでは、GitLabはUbuntu 20.04のデフォルトリポジトリにはありません。したがって、システムにGitLabの公式リポジトリを追加する必要があります。

まず、以下のコマンドでGitLabのGPGキーをダウンロードして追加します。

curl -sL https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey | apt-key add -

次に、以下のコマンドでAPTにGitLabリポジトリを追加します。

nano /etc/apt/sources.list.d/gitlab.list

次の行を追加してください:

deb https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ bionic main
deb-src https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ bionic main

作業が終わったら、ファイルを保存して閉じてください。それから、リポジトリを更新し、次のコマンドでGitLab CEをインストールします:

apt-get update -y
apt-get install gitlab-ce -y

GitLabが正常にインストールされたら、次の出力が表示されるはずです:

It looks like GitLab has not been configured yet; skipping the upgrade script.

       *.                  *.
      ***                 ***
     *****               *****
    .******             *******
    ********            ********
   ,,,,,,,,,***********,,,,,,,,,
  ,,,,,,,,,,,*********,,,,,,,,,,,
  .,,,,,,,,,,,*******,,,,,,,,,,,,
      ,,,,,,,,,*****,,,,,,,,,.
         ,,,,,,,****,,,,,,
            .,,,***,,,,
                ,*,.
  


     _______ __  __          __
    / ____(_) /_/ /   ____ _/ /_
   / / __/ / __/ /   / __ `/ __ \
  / /_/ / / /_/ /___/ /_/ / /_/ /
  \____/_/\__/_____/\__,_/_.___/
  

Thank you for installing GitLab!
GitLab was unable to detect a valid hostname for your instance.
Please configure a URL for your GitLab instance by setting `external_url`
configuration in /etc/gitlab/gitlab.rb file.
Then, you can start your GitLab instance by running the following command:
  sudo gitlab-ctl reconfigure

For a comprehensive list of configuration options please see the Omnibus GitLab readme
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md

この時点で、GitLabはあなたのシステムにインストールされています。次のステップに進むことができます。

GitLabを設定する

次に、GitLabのURLを定義する必要があります。/etc/gitlab/gitlab.rbファイル内でそれを定義できます。

nano /etc/gitlab/gitlab.rb

次の行を正しいホスト名またはドメイン名に変更してください:

external_url 'http://gitlab.linuxbuz.com'

ファイルを保存して閉じます。それから、次のコマンドを実行してGitLabを再構成します:

gitlab-ctl reconfigure

GitLabが正常に設定されると、以下の出力が得られるはずです。

Recipe: gitlab::puma
  * runit_service[puma] action restart (up to date)
  * runit_service[puma] action restart (up to date)
Recipe: gitlab::sidekiq-cluster
  * runit_service[sidekiq] action restart (up to date)
Recipe: gitlab::gitlab-rails
  * execute[clear the gitlab-rails cache] action run
    - execute /opt/gitlab/bin/gitlab-rake cache:clear
Recipe: nginx::enable
  * runit_service[nginx] action restart (up to date)
Recipe: monitoring::grafana
  * runit_service[grafana] action restart (up to date)

Running handlers:
Running handlers complete
Chef Client finished, 12/767 resources updated in 01 minutes 20 seconds
gitlab Reconfigured!

以下のコマンドを使用して、GitLabのステータスを確認できます:

gitlab-ctl status

次の出力を得るべきです:

down: alertmanager: 1s, normally up, want up; run: log: (pid 12973) 142s
run: gitaly: (pid 14216) 17s; run: log: (pid 12352) 286s
run: gitlab-exporter: (pid 14165) 19s; run: log: (pid 12885) 161s
run: gitlab-workhorse: (pid 14152) 19s; run: log: (pid 12767) 185s
run: grafana: (pid 14252) 15s; run: log: (pid 13855) 54s
run: logrotate: (pid 12818) 174s; run: log: (pid 12826) 173s
run: nginx: (pid 12798) 180s; run: log: (pid 12807) 179s
run: node-exporter: (pid 14160) 19s; run: log: (pid 12867) 167s
run: postgres-exporter: (pid 14246) 15s; run: log: (pid 13082) 130s
run: postgresql: (pid 12515) 280s; run: log: (pid 12532) 277s
run: prometheus: (pid 14183) 18s; run: log: (pid 12931) 149s
run: puma: (pid 12718) 199s; run: log: (pid 12727) 196s
run: redis: (pid 12309) 293s; run: log: (pid 12318) 292s
run: redis-exporter: (pid 14176) 18s; run: log: (pid 12908) 154s
run: sidekiq: (pid 12737) 193s; run: log: (pid 12749) 190s

Let's EncryptでGitLabを安全にする

この時点で、GitLabはインストールされ、設定されています。次に、Let's Encrypt SSLを使用してGitLabインスタンスを安全にすることをお勧めします。

最初に、次のコマンドでLet's Encryptクライアントツールをインストールします:

apt-get install letsencrypt -y

インストールしたら、/etc/gitlab/gitlab.rb ファイルを編集し、Let's Encrypt を有効にします。

nano /etc/gitlab/gitlab.rb

次の行を変更してください:

external_url 'https://gitlab.linuxbuz.com'
letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['[email ']
letsencrypt['auto_renew'] = true

作業が終わったら、ファイルを保存して閉じてください。その後、次のコマンドでGitLabを再設定します:

gitlab-ctl reconfigure

完了したら、次のステップに進むことができます。

GitLabインターフェースにアクセスする

この時点で、GitLabはLet's Encryptの無料SSLで保護されています。次に、ウェブブラウザを開き、URL https://gitlab.linuxbuz.com を入力します。次のページにリダイレクトされます:

さて、新しいパスワードを設定し、パスワードを変更するボタンをクリックしてください。次の画面が表示されるはずです:

さて、ルートユーザー名とパスワードを入力し、サイン イン ボタンをクリックしてください。次の画面が表示されるはずです:

一般公開のサインアップを無効にする

デフォルトでは、GitLabは誰でもGitLabのURLを使用してアカウントを登録できるようにしています。この設定は、公開プロジェクトをホストしたい場合に便利です。しかし、内部プロジェクトにGitLabを使用したい場合は、公開サインアップを無効にすることをお勧めします。

GitLabのダッシュボードで、管理者エリアのアイコンをクリックしてください。次の画面が表示されるはずです:

今、左側のペインにある設定をクリックしてください。次の画面が表示されるはずです:

次に、サインアップ制限までスクロールダウンし、展開ボタンをクリックします。サインアップを有効にするボックスのチェックを外し、完了したら変更を保存をクリックします。

では、GitLabからログアウトし、再度GitLabにアクセスしてください。公開サインアップが無効になっている以下の画面が表示されるはずです:

GitLabの機能を確認する

この時点で、GitLabはインストールされ、設定されています。次に、GitLabダッシュボードから新しいプロジェクトを作成します。

GitLabのダッシュボードで、プロジェクトボタンをクリックします。次の画面が表示されるはずです。

次に、プロジェクトを作成するボタンをクリックしてください。次の画面が表示されるはずです:

プロジェクト名、URL、説明、可視性レベルを提供し、プロジェクトを作成 ボタンをクリックしてください。次の画面が表示されるはずです:

次に、リモートシステムに移動し、次のコマンドでGitを設定します:

git config --global user.name "Hitesh Jethva"
git config --global user.email "[email "

次に、次のコマンドを使ってプロジェクトのリポジトリをクローンします:

git clone https://gitlab.linuxbuz.com/root/project1.git

以下のように、あなたのGitLabのユーザー名とパスワードを提供するよう求められます:

Cloning into 'project1'...
Username for 'https://gitlab.linuxbuz.com': root
Password for 'https://[email ': 
warning: You appear to have cloned an empty repository.
Checking connectivity... done.

次に、ディレクトリをプロジェクトに変更し、README.mdファイルを作成します:

cd project1
echo "This is my first file" > README.md

次に、README.mdファイルをリポジトリに追加し、以下のコマンドで変更をコミットします:

git add README.md
git commit -m "add README"

次の出力が表示されるはずです:

[master (root-commit) ae4d108] add README
 1 file changed, 1 insertion(+)
 create mode 100644 README.md

次に、次のコマンドを使ってファイルをリモートリポジトリにプッシュします:

git push -u origin master

ファイルをリモートリポジトリにプッシュするために、あなたのGitLabのユーザー名とパスワードを入力してください:

Username for 'https://gitlab.linuxbuz.com': root
Password for 'https://[email ': 
Counting objects: 3, done.
Writing objects: 100% (3/3), 237 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://gitlab.linuxbuz.com/root/project1.git
 * [new branch]      master -> master
Branch master set up to track remote branch master from origin.

次に、GitLabのダッシュボードを開き、プロジェクトボタンをクリックしてください。次の画面にREADME.mdファイルが表示されるはずです:

結論

上記のガイドでは、Ubuntu 20.04 に GitLab をインストールし、Let's Encrypt SSL でセキュアにする方法を学びました。また、GitLab を使用して基本的な Git 操作を行う方法も学びました。これで、開発環境に GitLab をデプロイできることを願っています。質問がある場合は、お気軽にお尋ねください。

関連記事: