GitLab は、Rubyで記述されたオープンソースのWebベースのGitリポジトリマネージャーです。これには、Wiki、問題管理、コードレビュー、監視、継続的インテグレーションと展開が含まれます。
GitLabを使用すると、開発者はアプリケーションを構築、デプロイ、実行できます。
GitLabには、Community Edition(CE)、Enterprise Edition(EE)、およびGitLabがホストするバージョンの3つのエディションが公開されています。
GitLab GitHubを含むさまざまなソースからプロジェクトや問題をインポートできます 、これにより、移行プロセスが簡単になります。 GitLab Webインターフェースはクリーンで直感的で、GitHubのインターフェースに近いです。
好みに応じて、GitLabをインストールするさまざまな方法があります。
この投稿では、 CentOS 7 でのGitLab(CE)のインストールと構成について説明します。 、 Ubuntu 18.04 & Debian 9 Omnibusパッケージを使用するマシン。
システム要件
システム要件は、ユーザー数に基づくです。 GitLabを使用するのは誰か。
100ユーザーの場合:
2コア
4GBRAM + 4GB SWAP
PostgreSQL(強く推奨)
10GBの空きディスク容量
前提条件
次のコマンドを使用して依存関係をインストールします。
### CentOS 7 / RHEL 7 ### yum install -y curl policycoreutils-python openssh-server ### Ubuntu 18.04 / Debian 9 ### sudo apt-get update sudo apt-get install -y curl openssh-server ca-certificates
ファイアウォール(CentOS / RHEL)
GitLab Webインターフェイスにアクセスできるようにするには、ポート80と443を開く必要があります。次のコマンドを実行します。
firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https firewall-cmd --reload
Postfixをインストールする
GitLabが通知メールを送信するには、Postfixを使用するか、SendGrid、MailChimp、MailGun、SESなどの外部メールサービスを使用できます。
外部の電子メールサービスを使用してGitLabを構成する場合は、次の手順をスキップできます。GitLabのインストール後に実行できます。
次のコマンドを実行してPostfixをインストールします。
### CentOS 7 / RHEL 7 ### yum install -y postfix ### Ubuntu 18.04 / Debian 9 ### sudo apt-get install -y postfix
Ubuntu / Debian: Postfixのインストール中に、メールサーバーの設定タイプを選択するように求められます。 [インターネットサイト]を選択して、Enterキーを押します。次に、サーバーのホスト名またはサーバーの外部DNS名(example.comやgitlab.example.comなど)であるメール名を入力する必要があります。
Postfixのインストールが完了したら、次のコマンドを実行してPostfixサービスを開始して有効にします。
### CentOS 7 / RHEL 7 ### systemctl start postfix systemctl enable postfix ### Ubuntu 18.04 / Debian 9 ### sudo systemctl start postfix sudo systemctl enable postfix
GitLabをインストールする
次のコマンドを使用して、GitLabリポジトリをシステムに追加します。
### CentOS 7 / RHEL 7 ### curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash ### Ubuntu 18.04 / Debian 9 ### curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
上記のスクリプトにより、リポジトリが有効になり、必要な依存関係がインストールされます。
完了したら、次のコマンドを実行してGitLabをインストールします。
### CentOS 7 / RHEL 7 ### yum install -y gitlab-ce ### Ubuntu 18.04 / Debian 9 ### sudo apt-get install -y gitlab-ce
インストールが完了するのを待ちます。インストールが正常に完了すると、次の出力が得られます。
GitLabにアクセスする前に、GitLabのURLを構成する必要があります。これを行うには、GitLabのメイン構成ファイル /etc/gitlab/gitlab.rbを編集します 。
### CentOS 7 / RHEL 7 ### vi /etc/gitlab/gitlab.rb ### Ubuntu 18.04 / Debian 9 ### sudo nano /etc/gitlab/gitlab.rb
external_urlを設定します ドメイン名またはIPに。
external_url "http://gitlab.itzgeek.local"
変更したら、次のコマンドを使用して、構成ファイルの最近の変更を適用するようにGitLabを再構成します。
### CentOS 7 / RHEL 7 ### gitlab-ctl reconfigure ### Ubuntu 18.04 / Debian 9 ### sudo gitlab-ctl reconfigure
Let'sEncryptSSLを使用してGitLabを構成する
GitLabのメイン構成ファイルを編集します。
### CentOS 7 / RHEL 7 ### vi /etc/gitlab/gitlab.rb ### Ubuntu 18.04 / Debian 9 ### sudo nano /etc/gitlab/gitlab.rb
Let’s Encryptによる外部URLのサポートを有効にするには、external_urlをパブリックドメイン名で更新する必要があります。 (例:gitlab.itzgeek.com)。
external_url "https://gitlab.itzgeek.com"
次に、 Let’sEncryptの統合を見つけます セクションを作成し、letsencrypt [‘enable’]で始まる行のコメントを解除します trueに設定 。
必要に応じて、letsencrypt [‘contact_emails’] で始まる行のコメントを解除することで、ドメインに関してLet’s Encryptからのメール(SSL証明書の有効期限のリマインダーなど)を受信するように選択できます。 メールアドレスを追加します。
また、Let’sEncryptSSL証明書の自動更新を有効にすることもできます。
# Enable Let's Encrypt integration letsencrypt['enable'] = true letsencrypt['contact_emails'] = ['[email protected]'] # Enable Let's Encrypt SSL reneal on every 4th day at 12:30 letsencrypt['auto_renew'] = true letsencrypt['auto_renew_hour'] = "12" letsencrypt['auto_renew_minute'] = "30" letsencrypt['auto_renew_day_of_month'] = "*/4"
ファイルを保存して閉じます。
DNSレジストラのポータルにアクセスし、external_urlがGitLabIPv4アドレスを指すようにAレコードを作成します。
NAME TTL TYPE DATA gitlab.itzgeek.com. 3600 A 35.231.140.52
最後に、次のコマンドを実行してGitlabを再構成します。
### CentOS 7 / RHEL 7 ### gitlab-ctl reconfigure ### Ubuntu 18.04 / Debian 9 ### sudo gitlab-ctl reconfigure
GitLabWebインターフェースへのアクセス
ウェブブラウザを起動します に移動します。
https://your.domain.comまたは
http://your.ser.ver.ip初めてGitLabWebインターフェースにアクセスすると、管理(root)アカウントのパスワードを設定するように求められるページにリダイレクトされます。
目的のパスワードを入力し、[パスワードの変更]ボタンをクリックします。
パスワードを設定すると、ログインページにリダイレクトされます。
デフォルトの管理者アカウントのユーザー名はrootです。
ユーザー名: root
パスワード:[設定したパスワード]
ログイン資格情報を入力し、[サインイン]ボタンをクリックします。
GitLabのウェルカムページに移動します。
デフォルトのアカウントユーザー名を変更する
最初のタスクとして、デフォルトアカウントのユーザー名をrootから別の名前に変更します。
右上隅にあるAdministratorGravatarアイコンをクリックして、[設定]を選択します。
[アカウント]に移動し、[ユーザー名の変更]フィールドに新しいアカウント名を入力して、[ユーザー名の更新]をクリックします。
[ユーザー名の更新]をクリックして変更を確認します。
次回のログイン時に新しいユーザー名を入力する必要があります。
SSHキーを追加
SSH経由でローカルのgit変更をGitLabサーバーにプッシュするには、SSH公開(id_rsa.pub)キーをGitLabアカウントに追加する必要があります。
既存のSSHキーペアをすでに作成している場合は、catコマンドを使用してキーの内容を表示することで公開キーをコピーして表示できます。
cat ~/.ssh/id_rsa.pub
コマンドが「そのようなファイルまたはディレクトリがありません」などのエラーをスローした場合は、システムにSSHキーペアが生成されていないことを意味します。
SSHキーペアを生成するには、以下のコマンドを使用します。
ssh-keygen -o -t rsa -b 4096 -C "[email protected]"
catコマンドからの出力をコピーします。
cat ~/.ssh/id_rsa.pub
GitLabのウェブインターフェースに移動し、右上隅にあるGravatarアイコンをクリックして、[設定]を選択します。
左側のペインで[SSHキー]をクリックします。
ローカルマシンから以前にコピーした公開鍵を貼り付け、鍵に名前を付けてから、[鍵の追加]ボタンをクリックします。
以下のコマンドを使用してアクセスを確認します。
ssh -T [email protected]
出力:
Welcome to GitLab, @raj!
以上です。