弊社は、今まで Git へのアクセス制御は Gitolite を使用していました。
それでも特に困ってはいなかったのですが、
Pull Request(Merge Request) による管理をしたい、というのと、
Slack との連携を簡単にしたい、という事で、
Amazon EC2(OS は Amazon Linux)に GitLab をインストールして、
今ある Git リポジトリを移行する事にしました。
以降がインストールの方法です・・・と言いたいところですが、
本家サイトに、丁寧にインストール方法が記載されているので、
本家サイトの補足を記載していこうと思います。
※本家サイトには Amazon Linux 用の説明が無く、
一番近いのが CentOS なので、その辺の違いも書いていきます。
1)必要な依存ライブラリのインストールと設定
(本家サイト: Install and configure the necessary dependencies)本家サイトでは
sudo yum install curl policycoreutils openssh-server openssh-clients sudo systemctl enable sshd sudo systemctl start sshdとなっていますが、
Amazon Linux は既に該当プラグインが設定されているので、この手順はスルーします。
続いて、GitLab からのメール送信する為の設定になります。
本家サイトの通り、以下のコマンドでインストールを行います。
$ sudo yum install postfix
続いて、postfix を有効にします。
本家サイトでは、
sudo systemctl enable postfix sudo systemctl start postfixとなっていますが、
Amazon Linux には既に sendmail がインストールされているので、
sendmail を無効にする必要があります。
$ sudo /etc/init.d/postfix stop $ sudo /etc/init.d/sendmail stop sm-client を停止中: [ OK ] sendmail を停止中: [ OK ] $ sudo /etc/init.d/postfix start postfix を起動中: [ OK ]
ついでに、メールの自動起動設定を変更しておきます。
$ sudo chkconfig postfix on $ sudo chkconfig sendmail off
続いて、MTAも切り替えます。
$ sudo alternatives --config mta 2 プログラムがあり 'mta' を提供します。 選択 コマンド ----------------------------------------------- *+ 1 /usr/sbin/sendmail.sendmail 2 /usr/sbin/sendmail.postfix Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:2
念の為、設定の確認をしておきます。
$ alternatives --display mta mta - ステータスは手動です。 リンクは現在 /usr/sbin/sendmail.postfix を指しています。
2)GitLab のインストール
(本家サイト: Add the GitLab package server and install the package)ようやくGitLab のインストールです。ここは本家サイト通り進めます。
$ curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash $ sudo yum install gitlab-ce
3)GitLab の設定と開始
(本家サイト: Configure and start GitLab)後は、「gitlab-ctl reconfigure」して完了なのですが、
その前に、メールの設定を行っておきます。
※ ここからは、Amazon SES の設定が完了している事を前提とします。
以下のコマンドで、設定ファイルを開きます。
$ sudo vi /etc/gitlab/gitlab.rb設定箇所は、本家サイトの SMTP setting - Amazon SES に詳しく書いてあります。
★その他、変更した箇所
SMTPの設定以外でも、external_url は自サイトのドメインへ、
gitlab_rails['time_zone'] はデフォルトが UTC になっているので、 Asia/Tokyo に変えました。
ここまでで、設定は完了したので、以下のコマンドで変更内容を反映させます。
$ sudo gitlab-ctl reconfigure
4)GitLab へログイン
(本家サイト: Browse to the hostname and login)いざ、external_url に設定したURLに接続すると・・・
画面が表示されました。
デフォルトのユーザーが「root」で作られているので、
初めはそのユーザーでログインすることになります。
(まずはパスワード設定)
パスワードを設定してログインすると・・・・
おっと 502 エラーに。
調べて見ると、どうやらサーバーのメモリが足りないようです。
GitLab の構築には、1GBのメモリが推奨されているようなので、
EC2 インスタンスは「t2.small」にしたのですが・・・
とりあえず、「t2.medium」に変更した後、再度ログインしたところ上手くいきました。
(こういうスケールアップが簡単に出来るのが、AWS の良いところですね。)
ここまでで、インストール・設定・起動が完了したので、次回は、Git リポジトリの移行を行いたいと思います。
次回:AWS EC2 の GitLab へリポジトリを移行する
AWS , EC2 , GitLab , Linux
0 件のコメント:
コメントを投稿