この記事にはプロモーションが含まれていることがあります

LAN内へのGitLabサーバ設置に向けた設定変更備忘録

IT

前回、練習用のGitLabサーバを構築しました。前回は私のこっそり練習の場を作りたかったので、とりあえず動かすことを優先したため、いろいろ適当でした。

ただ、社内で開発資材の管理をGitLabをやろうというタイムリーな話が出てきたので、きちんとGitLabのサーバとして動くようにすることにしました。

最近はクラウド上のマネージド・サービスを使うのが手っ取り早いのですが、機密情報であるプログラム資材をクラウド上にアップするのに抵抗がある人達もいますので社内LAN内にGitLab立てることにしました。
どこぞの大手SIreでGitHubでプログラムが公開状態だった事件もあり、なかなかね…

そんなわけで、今回はもう少し正式なGitLabサーバとしてLAN内に公開できるように設定を変更してみます。

スポンサーリンク

GitLabサーバの設定変更備忘録

前回のGitLabサーバ設定おさらい

設定変更の概要

GitLabの設定を変更するポイント
  • ホスト名:無し(DHCP割当のIP) ⇒local-gitlab
  • ポート:12000 ⇒80 (HTTP)

この設定を変更すると前回GitLabに接続する際に指定していたURLが変わります。

  • 前回の設定: http://192.168.0.5:12000
  • 今回の設定: http://local-gitlab

前回はIP直指定でポート番号も12000だったのでちょっと長いです。80番ポートが未使用なら、GitLabを80番に割り当てるとブラウザではポート番号を指定する必要がなくなります。また、ホスト名をセットすることでGitLabサーバであることがわかりやすくなります。

設定変更方法

Dockerコンテナで構築していますので、docker-compose.yamlファイルの内容を変更するだけでOKです。いや~Docker素晴らしい。

docker-compose.yamlの修正

変更箇所
  1. external_url ‘http://192.168.0.5:12000′  ⇒http://local-gitlab’
  2. ports:部分  ‘12000:12000’ ⇒80:80

external_urlで接続URLを変更します。今回はlocal-gitlabというホスト名にしていますが、ここは好きな名前にしてください。

portsはポート番号の指定ができます。前回は12000番で動かしましたが、ここをHTTP(80番)にします。

既にApacheやNginxなどが動いていて80番ポートを使っている場合は競合しますので他のポートで動かす等の調整が必要です。

ホスト名はそのホスト名で名前解決ができて接続できるようDNSに登録するか接続元のパソコンのhostsファイルに定義を追加してください。

必須ではないのでIPのままでも大丈夫です。ただDHCPだとIPが変動しますのでIPで運用する場合は、固定IPを割り当ててください。

書き換えたdocker-compose.yamlはこんな感じです。

gitlab:
  container_name: gitlab01
  image: 'gitlab/gitlab-ce:latest'
  restart: always
  hostname: 'localhost'
  environment:
    GITLAB_OMNIBUS_CONFIG: |
      external_url 'http://local-gitlab'
      gitlab_rails['time_zone'] = 'Asia/Tokyo'
  ports:
  - '80:80'
  - '2022:22'
  volumes:
  - '/docker/gitlab/config:/etc/gitlab'
  - '/docker/gitlab/logs:/var/log/gitlab'
  - '/docker/gitlab/data:/var/opt/gitlab'

Dockerコンテナ再作成

設定が変更でしたら、Dockerコンテナを作り直しましょう。

$ docker-compose down
$ docker-compose up -d

動作確認

コンテナが立ち上がったら、次のURLで接続してください。好きな名前に変更している場合はその名前に読み替えてください。

http://local-gitlab

接続できたと思います。これだとなんかちゃんとしたGitLabサーバっぽいですよね。これならLAN内に公開できそうです\(^o^)/

念の為、プロジェクトのCloneボタンを押した時に表示される文字列にも設定が反映されていることを確認してください。ここが古いままだとダサいというか最悪接続できないので…

冒頭にも書きましたが、この設定はLAN内での公開用の簡易設定です。インターネット上には出さないようにしてください。外に出すならマネージドサービスを利用したほうが安全です。

コメント

タイトルとURLをコピーしました