Slide 1

Slide 1 text

@killerbee 3クリックで3秒分で立てるGitLab

Slide 2

Slide 2 text

要件 • 常駐先のリソースを必要としない • すばやく構築してすぐに使い始められる • 簡単に持ち運べる • メンテナンスコストが低い

Slide 3

Slide 3 text

それ、NASで • SOHO向けモデルであれば簡単に持ち運び可能 • 自分は主に4スロットモデルを利用 • ネットワークと電源につなぐだけ • 一部アプリケーションはすぐ NAS 上にデプロイ・運用可能 • NAS なんで RAID やバックアップ機能が豊富 • NAS の本業なので • 安定して運用 • HDD が死んでも入れ替え楽

Slide 4

Slide 4 text

NASに 3クリックで3秒分で立てるGitLab

Slide 5

Slide 5 text

QNAP

Slide 6

Slide 6 text

QNAPでソースビルドでGitLab 動かしてました • 比較的CPUが高速な現行モデルを選んでメモリ積めば特に問題ない • 当初 TS-459Pro にインストール • Intel Atom D510 1.66GHz, 4GBMem(ちょっと重かった) • ソースコードからビルドして GitLab を立ち上げ • BusyBox ベースだが、パッケージ使ってあっさり環境構築 • 最初に入れ始めたのは2015年ぐらい • それ以前は 普通のPCに立てて使っていた

Slide 7

Slide 7 text

ところが • QTS(OS) 4.1.4 の悲劇 • パッケージシステム(ipkg → opkg)が変更 • ツールチェインやライブラリ(lib*)がほとんど無い…

Slide 8

Slide 8 text

\(^o^)/オワタ と思いました. マジで…

Slide 9

Slide 9 text

Toolchainからすべてビルドして GitLab 再度構築 • 現在は opkg も揃ってきたので、ビルド可能。たぶん。 • そこから2年間最新を追っかけて来ました、が • 新規ライブラリ追加やパッケージの更新などがすべて手動 • 割と色々と罠を踏む • MySQL とか、npm とか • 隙間で運用しているので割と辛い • そうこうしているうちに…

Slide 10

Slide 10 text

GitLab……疲れたろう。 僕も疲れたんだ。 なんだかとても眠いんだ……GitLab……

Slide 11

Slide 11 text

死んだ目でアプリストアを眺めていると…

Slide 12

Slide 12 text

殺伐としたGitLab運営に神が!

Slide 13

Slide 13 text

デモ。

Slide 14

Slide 14 text

postgresql: restart: always image: sameersbn/postgresql:9.6-2 environment: - DB_USER=gitlab - DB_PASS=password - DB_NAME=gitlabhq_production - DB_EXTENSION=pg_trgm gitlab: restart: always image: sameersbn/gitlab:10.0.4 links: - redis:redisio - postgresql:postgresql ports: - "10080:80" - "10022:22" environment: - DEBUG=false - GITLAB_PORT=10080 - GITLAB_SSH_PORT=10022 - GITLAB_SECRETS_DB_KEY_BASE=qcs-gitlab-app - GITLAB_SECRETS_OTP_KEY_BASE=qcs-gitlab-app - GITLAB_SECRETS_SECRET_KEY_BASE=qcs-gitlab-app redis: restart: always image: sameersbn/redis:latest command: - --loglevel warning デフォルトの docker-compose.yml(非公式コンテナ) /share/share/CACHEDEV1_DATA/.qpkg/container-station/data/template/gitlab/docker-compose.yml

Slide 15

Slide 15 text

でもお好きな docker-compose.yml で起動できます

Slide 16

Slide 16 text

公式コンテナで起動してみた

Slide 17

Slide 17 text

詳細画面と単体コンテナ作成画面

Slide 18

Slide 18 text

QNAP だけじゃなんなので…

Slide 19

Slide 19 text

もう一方の雄 Synology

Slide 20

Slide 20 text

公式のdocker がそのまま入る感じ

Slide 21

Slide 21 text

DockerHubから直接イメージを取得・起動可能

Slide 22

Slide 22 text

メモリ2GBだと起動はしたが重い…

Slide 23

Slide 23 text

試してみたモデル • QNAP • 半年ぐらい運用して特に問題なし(試したのは x86/x64 モデルのみ) • TVS-473e (AMD RX-421BD APU 4C/4T, 8GB Mem) • TVS-471 (Intel Core i3-4150 3.5 GHz 2C/4T, 16GB Mem) • 感想 • docker-compose.yml をそのまま入れられる • UI は一覧性重視で少し不安定(関連付けが崩れたりする) • Synology • GitLab を入れてみただけだが、特に問題なし • DS916+ (Intel Pentium N3710 1.6GHz 4C/4T, 2GB Mem) • 感想 • コンテナ単体のみ • その代り UI は見やすい

Slide 24

Slide 24 text

• QNAP: QTS 4.3.4 + Container Station 1.8 (GA版最新) • Server Version: 17.09.1-ce • Storage Driver: overlay • Backing Filesystem: extfs • Supports d_type: true • Logging Driver: json-file • Cgroup Driver: cgroupfs • Plugins: • Volume: local • Network: bridge host macvlan null overlay • Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog • Swarm: inactive • Runtimes: runc • Default Runtime: runc • docker-compose 1.18.0 • Synology: DSM 6.2 + Docker 17.05.0 (最新版) • Server Version: 17.05.0-ce • Storage Driver: btrfs (NASセットアップ時にbrtfs指定) • Logging Driver: db • Cgroup Driver: cgroupfs • Plugins: • Volume: local • Network: bridge host macvlan null overlay • Swarm: inactive • Runtimes: runc • Default Runtime: runc • docker-compose 1.14.0

Slide 25

Slide 25 text

NAS でお気楽な GitLab 運用を!