メールサーバーの設定
新規にローカルのユーザーを作成した際にはメールで通知がいくようで、それがないとそのユーザーはパスワードを設定できないようです。
そのためにもメールサーバーの設定は済ませておく必要がありそうです。
これもまた /etc/gitlab/gitlab.rb ファイルに設定があるので適当なエディタで開きます。すると以下のような行が見つかるので、この部分を編集していきます。
# Use smtp instead of sendmail/postfix. # gitlab_rails['smtp_enable'] = true # gitlab_rails['smtp_address'] = "smtp.server" # gitlab_rails['smtp_port'] = 456 # gitlab_rails['smtp_user_name'] = "smtp user" # gitlab_rails['smtp_password'] = "smtp password" # gitlab_rails['smtp_domain'] = "example.com" # gitlab_rails['smtp_authentication'] = "login" # gitlab_rails['smtp_enable_starttls_auto'] = true # gitlab_rails['smtp_tls'] = false # gitlab_rails['smtp_openssl_verify_mode'] = 'none' # Can be: 'none', 'peer', 'client_once', 'fail_if_no_peer_cert', see http://api.rubyonrails.org/classes/ActionMailer/Base.html # gitlab_rails['smtp_ca_path'] = "/etc/ssl/certs" # gitlab_rails['smtp_ca_file'] = "/etc/ssl/certs/ca-certificates.crt"
これらをざっくりと以下のような感じにします
gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "メールサーバーアドレス" gitlab_rails['smtp_port'] = 25 gitlab_rails['smtp_domain'] = "yourdomain.net" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true
各設定項目は、メールサーバーの状態に合わせて設定します。
問題がなければユーザーを作成したりグループを作成したりといったタイミングでメール通知が飛ぶようになるかと思われます。
自分の環境ではメールが確認できず苦戦しましたが、外部メールサーバーを使う前提でローカルの Postfix を停止させたところうまくメールが飛ぶようになりました。同じような現象に出遭っている人はもしかするとコレで改善するかもしれません。
リポジトリの一覧
GitBucket 導入後に、公開リポジトリの一覧が見れたらいいなと思っていたので、 GitLab ではどうか確認してみました。
ここでは適当に2ユーザーくらい作ってそれぞれにリポジトリを作ってみました。
サインインしない状態で一覧みることができるかも気になりましたが、以下の画面に示すリンクから飛べるようです。
そこから All Projects というメニューを選ぶと以下のように既にあるリポジトリをリストとして見ることが出来ました。この画面を見るとさらに検索が出来るようなので多くのリポジトリがあっても大丈夫そうに見えます。(あくまでプロジェクト名での検索の模様です)
グループでのリストの様子もうかがえますし、さすがに機能がそろっているなと感じました。
リポジトリの操作
リポジトリへのプッシュ種別
HTTP でも SSH でもプッシュが可能なようです。プロキシのこととか考えると、httpが対応してくれているのはありがたいですね
リポジトリのフォーク
ちゃんとforkして作業が出来るようでした。fork元がどのくらい fork されたのかを正しく把握するのは難しそうです。フォークされた数がわかるようです。また forkした側は、どこからフォークしたのかが表示として出てくるみたいです。
マージリクエスト
いわゆるGitHubのプルリクエスト相当の機能で、マージリクエストと呼ぶリクエストを出すことが出来ます。forkしたブランチで何かしらの実装を行い、それを fork 元にマージしてもらって本家に反映する、というフローをするために使われます。
マージリクエストを出されると、ちゃんとメールで通知が行われました。GitBucket のときのリクエストはメールが飛ばないような感じだったので、こちらはちゃんと使えそうな印象です。