GitLabは、Wiki、問題管理、コードレビュー、モニタリング、継続的インテグレーションとデプロイを含む、Rubyで記述されたWebベースのオープンソースGitrepositoryマネージャーです。これにより、開発者はプロジェクトを作成、レビュー、および展開できます。
利用可能なGitLabには、Community Edition(CE)、Enterprise Edition(EE)、およびGitLabがホストするバージョンの3つの異なるエディションがあります。
GitHubから離れたい場合は、GitLabが一番の選択肢です。 GitHubを含むさまざまなソースからプロジェクトや問題をインポートできるため、移行プロセスに手間がかかりません。 GitLabのインターフェースは、適切に設計され、クリーンで直感的であり、ユーザーエクスペリエンスと機能の点でGitHubに近いものです。
必要なユースケースに応じて、GitLabをインストールする方法はいくつかあります。このチュートリアルでは、Omnibusパッケージを使用してUbuntu 18.04システムにGitLab(CE)をインストールおよび構成するために必要な手順について説明します。
前提条件#
このチュートリアルは、Ubuntu18.04が新しくインストールされていることを前提としています。 GitLabの要件ページによると、次のサーバーを使用することをお勧めします:
- 少なくとも4GBのRAMメモリ。
- 2つのCPUコア。
- 少なくとも2GBのスワップスペース。
- (オプション)サーバーのIPアドレスを指すドメインまたはサブドメイン。
セキュリティをさらに強化するには、基本的なファイアウォールを設定することをお勧めします。 Ubuntu18.04ガイドでUFWを使用してファイアウォールを設定する方法の手順に従うことができます。
チュートリアルを開始する前に、sudo権限を持つユーザーとしてログインしていることを確認してください。
必要な依存関係のインストール#
ローカルパッケージインデックスを更新し、次のコマンドを使用して依存関係をインストールします。
sudo apt update
sudo apt install curl openssh-server ca-certificates
GitLabが通知メールを送信できるようにするには、Postfixをインストールして使用するか、SendGrid、MailChimp、MailGun、SESなどのトランザクションメールサービスを使用できます。この場合、次の手順をスキップして[GitLabSMTP設定]を構成できます。 (https://docs.gitlab.com/omnibus/settings/smtp.html)インストールが完了した後。
次のコマンドを実行して、UbuntuサーバーにPostfixをインストールします。
debconf-set-selections <<< "postfix postfix/mailname string $(hostname -f)"
debconf-set-selections <<< "postfix postfix/main_mailer_type string 'Internet Site'"
sudo apt install postfix
独自のメールサーバーを設定する方法の詳細については、このシリーズを確認してください。
GitLabのインストール#
GitLabのインストールは非常に簡単なプロセスです。 apt
を使用してGitLabCEパッケージをインストールします パッケージマネージャー。
次のcurlコマンドを使用して、GitLabリポジトリをシステムソースリストに追加することから始めます。
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
リポジトリが有効になったら、次のコマンドを実行してGitLabパッケージをインストールします。
sudo apt install gitlab-ce
インストールプロセスにはしばらく時間がかかる場合があり、インストールが正常に完了すると、次の出力が表示されます。
Thank you for installing GitLab!
ファイアウォールルールの調整#
基本的なファイアウォールの設定に関するガイドは、前提条件のセクションにリンクされています。 GitLabインターフェースにアクセスできるようにするには、ポート80
を開く必要があります および443
:
sudo ufw allow OpenSSH
sudo ufw allow http
sudo ufw allow https
必要なポートが開いていることを確認するには、次のコマンドでファイアウォールのステータスを確認できます。
sudo ufw status
Status: active
To Action From
-- ------ ----
80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
OpenSSH ALLOW Anywhere
80/tcp (v6) ALLOW Anywhere (v6)
443/tcp (v6) ALLOW Anywhere (v6)
OpenSSH (v6) ALLOW Anywhere (v6)
GitLabのURLを設定する#
GitLab Webインターフェイスにアクセスする前に、GitLabにアクセスできるURLを設定する必要があります。 Gitlabの構成ファイルを開き、次の変更を加えます。
sudo nano /etc/gitlab/gitlab.rb
構成ファイルの上部近くに、external_url
で始まる行が表示されます。 。ドメイン/サブドメインまたはIPアドレスに一致するように値を変更します。ドメインをお持ちの場合は、https
を使用してください サーバーのIPアドレスを介してGitLabインターフェースにアクセスする場合は、http
を使用します。 。
external_url 'https://gitlab.example.com'
次に「Let’s Encryptintegration」を検索し、letsencrypt['enable']
で始まる行のコメントを解除します そしてそれをtrueに設定します。オプションで、Let’s Encryptからドメインに関するメールを受信する場合は、letsencrypt['contact_emails']
で始まる行のコメントを解除します。 メールアドレスを追加します。
external_url
を設定した場合 IPアドレスに変換し、Let’sEncryptの統合を有効にしないでください。
letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['[email protected]'] # This should be an array of email addresses to add as contacts
最後に、ファイルを保存して閉じ、次のコマンドを実行してGitlabを再構成します。
sudo gitlab-ctl reconfigure
このコマンドは、GitLab設定を再構成し、無料のLet'sEncryptSSL証明書を生成します。
Webインターフェイスを介してGitLabを構成する#
GitLab URLを構成したので、GitLabWebインターフェイスを介して初期構成から開始できます。
Webブラウザーを起動し、次の場所に移動します:
https://your_gitlab_domain_or_server_IP.com
1。管理者アカウントのパスワードの設定#
初めてWebインターフェイスにアクセスすると、管理者アカウントのパスワードを設定するように求められます。
安全なパスワードを入力し、Change your password
をクリックします 終了したらボタンを押します。
ログインページにリダイレクトされます:
デフォルトの管理者アカウントのユーザー名はroot
です 。このチュートリアルの後半で、ユーザー名を変更する方法を説明します。
- ユーザー名:root
- パスワード:[設定したパスワード]
ログイン資格情報を入力し、Sign in
をクリックしたら ボタンをクリックすると、GitLabのウェルカムページに移動します。
2。ユーザープロファイルの編集#
最初にやりたいことは、ユーザープロファイルを編集することです。ユーザーアバター(右上隅)をクリックし、ドロップダウンメニューからSettings
を選択します。 :
ここで、名前、電子メール、およびその他のプロファイル情報と設定を変更できます。好みに応じて変更してください。
完了したら、Update Profile settings
をクリックします ボタンをクリックすると、まもなく、指定したアドレスに確認メールが届きます。アカウントを確認するには、メールに記載されている手順に従ってください。
3。ユーザー名の変更#
プロファイルページにアクセスするには、Account
をクリックします 左側の垂直ナビゲーションメニューからのリンク。
ご存知のとおり、最初の管理者アカウントのデフォルトのユーザー名はroot
です。 。変更するには、新しいユーザー名を入力して、Update username
をクリックします。 ボタン。
この画面では、2要素認証を有効にすることもできます。
次回GitLabダッシュボードにログインするときは、新しいユーザー名を入力する必要があります。
4。 SSHキーの追加#
ローカルのgit変更をGitLabサーバーにプッシュできるようにするには、SSH公開鍵をGitLabアカウントに追加します。
ローカルシステムでSSHキーペアをすでに作成している場合は、次のように入力して公開キーを表示できます。
cat ~/.ssh/id_rsa.pub
出力は次のようになります。
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDd/mnMzHwjUzK8g3ldfsfRpJuC16mhWamaXRk8ySQrD/dzpbRLfDnZsLxCzRoq+ZzFHGwcQlJergtergdHGRrO8FE5jl3IWRRp+mP12qYw== [email protected]
上記のコマンドがNo such file or directory
を出力する場合 これは、マシンでSSHキーペアが生成されていないことを意味します。
新しいSSHキーペアを生成するには、次のコマンドを使用します。
ssh-keygen -t rsa -b 4096 -C "[email protected]"
catコマンドからの出力をコピーして、GitLabのウェブインターフェースに戻ります。 SSH Keys
をクリックします 左側の垂直ナビゲーションメニューからSSHキー設定ページにアクセスします。
Key
内 textareaは、ローカルマシンから以前にコピーした公開鍵を貼り付け、わかりやすいタイトルを設定して、Add key
をクリックします。 ボタン:
これで、GitLabアカウントのクレデンシャルを提供しなくても、ローカルコンピューターからプロジェクトの変更をプッシュおよびプルできるようになります。