ソースコード をちゃんと管理 バージョン管理システム gitlab を 導入 commit05
ソースコード をしっかり管理するために バージョン管理システム の gitlab を 導入 します。 commit05 では service
定義したgitlabの設定項目を解説します。
前回はgitlab-dataのサービスについて解説しました。
ソースコード をちゃんと管理 バージョン管理システム gitlab を 導入 commit04
今回はgitlabのサービスについて解説します。
いかのような構成にしています。
gitlab:
image: gitlab/gitlab-ee:14.1.0-ee.0
restart: always
volumes_from:
- gitlab-data
expose:
- "80"
ports:
- "80:80"
mem_limit: 4g
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'https://git.ik-genety.com'
gitlab_rails['time_zone'] = 'Asia/Tokyo'
alertmanager['flags'] = {'cluster.advertise-address' => '127.0.0.1:9094'}
networks:
- work
logging:
driver: "json-file"
options:
max-size: "100m"
max-file: "3"
image
DockerHubにgitlabの公式イメージがありました。
自分で作成すると時間がかかるので助かります!
バージョンはこのときの最新だったgitlab/gitlab-ee:14.1.0-ee.0
を使用します。
restart
Dockerが起動した際、このサービスも自動で起動するようalways
を指定しました。
ストレージ用のコンテナであるgetlab-data
はそのような指定はしていません。
ストレージ用のコンテナというのは「ただ定義がある」というだけでよいようです。
volumes_from
ストレージ用のコンテナを指定します。
これで特定のフォルダ配下のファイルはコンテナを削除しても永続化されるわけです!
expose
ネットワーク内のサービス用に80ポートを開けました。
・・・別のコンテナから呼び出されることなんてないので必要なかったかもしれません😅
ports
gitlabのコンテナはポート80でサービスを提供するようです。
ホスト側のポート80とつなぎ(ポートフォワード?)、外部からこのコンテナにアクセスできるようにしています。
mem_limit
gitlabは最低でもメモリ4GB推奨とのこと。Dockerはホストのメモリを共有し、コンテナで負荷が高まれば無尽蔵にメモリを使います。
この問題を抑制するために設定しました。
emvironment
gitlab独自の環境変数です。書き方はいろんなサイトを見よう見まねで記述しました。
URLやタイムゾーンを設定しています。
altermanagerの設定については以下の問題に対応するものです。
さくらVPSのUbuntuにGitLabを入れて初期設定するまで – Qiita
networks
参加するネットワークです。gitlab-dataと同じネットワークにしています。
logging
gitlab-dataと同様の設定です。
大量のログで容量をひっ迫しないよう、1ファイル100MBまで、3ファイルでログローテーションを自動で行ってくれます。
以上でgitlabの設定は完成したかと思います。
しかしまだ終わりではありません。
定義はできたので今度はビルドして動作するか確認が待っています。
それはまた次回に😉
今日はここまで!
ディスカッション
コメント一覧
まだ、コメントがありません