本セッションでは大規模モバイルゲームでの並行開発における複数バージョンブランチ間マージ(以降マージリレーとする)を自動化・自働化した手法を紹介します。
過去にはマージリレーを担当者が毎日人力で対応していて苦労しましたが、コンフリクト解消を自動化するなど工夫を積み重ねて改善してきました。
そこからマージやコンフリクト解消を自動化するだけではなく、マージリレーのフローの見直しを行い完全自働化へと発展しました。
最終的には至ってシンプルな手法となりましたが、完全自働化までには紆余曲折もあり、知見を得ることもできました。我々がたどったみちのりを振り返りながら、マージリレーに対する考え方と手法を紹介するセッションです。
講演者プロフィール
山部 薫
2014年に新卒でDeNAに入社。ブラウザゲームのサーバサイド開発運営を経験したのち、大規模アプリゲームのクライアント開発・運営・リードエンジニアや、マスタデータ専用バージョン管理システムの開発・運用などを担当した。現在は市場のフィードバックを取り入れたアプリゲームプロトタイピングの手法を模索している。
《講演者からのメッセージ》
モバイルゲームはリリースが高頻度になることが多い一方、近年ではアセットがリッチになったことで開発期間も長くなり、並行開発のライン数が爆発的に増加しつつあります。
そういった背景から、リリースバージョン間のマージ作業の難易度やコンフリクト頻度も高くなってきており、頭を悩ませている人も少なくないでしょう。
本セッションは弊社ゲーム開発において最も辛い業務の一つであった「マージ担当者」という役回りから開発者を解放するための道のりを紹介させていただきます。
バージョン管理のコンフリクトに悩む皆様の一助となれば幸いです。
水本 頑大
2013年からHTML5やUnityを使用したモバイルゲーム開発に従事
2018年にDeNAに入社し、ワールドワイドにリリースする大型モバイルゲームの開発環境や運用ワークフローの整備を行う
《講演者からのメッセージ》
昨今のモバイルゲームでは開発の長期化する中でも高頻度でリリースすることが求められており、複数バージョンを並行して開発することが多いです。
その中で各バージョンのブランチのマージは複雑でコストがかかるものになっていたのですが、本セッションで紹介する事例によって劇的にコストを下げつつも、より安全にマージを行えるようになりました。
本セッションの内容が、コンシューマ・モバイル問わず、複数バージョンの並行開発や、gitの運用に苦労している方々の一助になれば幸いです。
白柳 隆澄
2007年からゲーム業界でエンジニアをしています。2017年DeNA入社。
ゲーム開発よりもツールやCI/CD関係のエンジニア歴が長いです。
2019年頃から SRE を自称。ゲーム開発者のための SRE として開発をいかに楽にしていくかを毎日考えています。
《講演者からのメッセージ》
git を毎日使って普段の業務で困ることはほとんどないくらいなのに、git 難しいですよね。
普段から使って慣れ親しんだツールでも知らない機能や便利な使い方があったりします。
本セッションで引き出しが増えれば幸いです。