栂井 良太

バックエンドアーキテクチャG

エンジニアリング本部 技術統括部

KLab株式会社

モバイルゲーム

ビルドパイプラインとChatOps

〜非開発者が単独でビルド&デプロイできる仕組み〜

2
モバイルゲームのプロジェクトでDevOps系業務

主にJenkinsの面倒を見る

栂井 良太

バックエンドアーキテクチャG 所属

2018年 KLab新卒入社

とがい
 りょうた

東京オフィス勤務

いつか福岡にとんこつラーメンを食べに行きたい

3
モバイルゲームビルドパイプラインとは

ユーザー

企画

プログラマー

デザイナー

リポジトリ or

ファイルストレージ

自動テスト
サーバー
展開
本番サーバー

アセット
ビルド
パッケー
ジング 追加ダウンロード用スト
レージ

アプリ
バイナリビルド
ストア
アップロード
開発環境構築
ビルドパイプライン

4
ビルドパイプラインの問題点

🧩 複雑になりがち

Jenkins、Unity、XCode、サーバー、Cloud etc…

多くのツールやサービスを組み合わせないと作れない



👨‍🔧属人化しがち

多くの場合、クライアントもサーバーもできるすごいメンバーが対応

別プロジェクトに移動すると全く違うアーキテクチャ



🛠 壊れがち

アップデート必須は突然やってくる(XCode、Jenkins)

何年も触ってないJenkinsやMacを触りたくない

5
ビルドパイプラインの重要性

企画 開発 テスト 展開
フィード
バック
より素早い改善サイクルを提供できるゲームがユーザーに評価されやすい

・ユーザーの要望をすぐにサービスに反映できる

・バグがあればすぐに治せる

・積極的な新機能開発ができる

バリューストリーム
✅ バリューストリーム高速化のためには

ビルドパイプラインの安定化、高速化が必要不可欠

6
KLabのビルドパイプラインへのとりくみ

企画

プログラマー

デザイナー

リポジトリ or 

ファイルストレージ 

アセット
ビルド
パッケー
ジング 追加ダウンロード
用ストレージ

自動テスト
サーバー
展開
アプリ
バイナリビルド
ストア
アップロード
開発環境構築
本番サーバー

パイプラインチーム
✅ モバイルゲームのビルドパイプライ
ンは内容が多岐にわたる 

開発の片手間では難しい 

✅ 本日はパイプラインチームで導入し
た仕組みの中でうまくいった事例のご
紹介

✅ ビルドパイプラインを保守、 

効率化を目指したツール開発する 

パイプラインチーム

7
KLabのビルドパイプライン

commit
メンバー
開発サーバー
パッケージング
サーバー展開
社内Mac
バイナリビルド
アセットビルド
開発用jenkins
バイナリ配信サーバー
インストール
運用職人化問題
サーバー接続
運用作業者ビルド依頼
メンバー
メンバー
8
ChatOpsによる解決

🤔もっと手軽にJenkinsでビルドできないだろうか

非開発者でも親しみやすく、利用しやすいインターフェースであれば運用作業者以
外でもビルドができる



HTTP Request

Slack bot

ビルド結果

ビルド

リクエスト

コマンド投稿

ビルド作業
ChatOps

✅非開発者にとって利用し
やすいインターフェース 

✅slackが使えればどこでも
ビルドができる

ChatOpsのメリット

9
KLabのビルドパイプライン

commit
メンバー
開発サーバー
バイナリ配信サーバー
社内Mac
開発用jenkins
パッケージング
サーバー展開
バイナリビルド
アセットビルド
インストール
サーバー接続
メンバー
メンバー
Slack bot

10
ビルドパラメータ複雑問題

実際にプロジェクトで

使っているビルドコマンド

💣 ビルドパラメータが肥大化しがち

もはや人が管理できるパラメータ数ではない

結局運用職人問題が解決していない

🧐 解決案の着想

コマンドを生成する何かを作ればいい

非開発者でも利用しやすく、

容易にメンテ可能なコマンド生成器を作る

サーバー接続先
ブランチ
認証キー
アプリタイトル
アセットのブランチ
ビルドマシン名
11
スプレッドシートコマンド生成シートの誕生

コピーアンドペースト

ビルドしたい条件を入力していく 

スプレッドシートの数式処理により

ビルドコマンドが自動生成される

ビルド作業
ビルドパラメータ

複雑問題が解決

12
ChatOpsとコマンド生成シートが達成したこと

✅ プロジェクトの誰もが自分でビルドできるようになった

コマンド複雑すぎる問題が解決



企画、デザイナー、テスター、プログラマー、

すべてのメンバーが自分の動作確認したいアプリを自分で作れる



動作確認待ちが少なく、確認サイクルが高速化

13
発表のまとめ

メンバー
開発サーバー
バイナリ配信サーバー
社内Mac
開発用jenkins
パッケージング
サーバー展開
バイナリビルド
アセットビルド
インストール
サーバー接続
Slack bot
コマンド生成シート
非開発メンバーが1人でアプリビルドできるようになった

モバイルゲームビルドパイプラインとChatOps