Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Unity開発でCI/CDを使おうと思った時
Search
あるど
February 20, 2019
Programming
0
1.2k
Unity開発でCI/CDを使おうと思った時
https://noengineering-nolife.connpass.com/event/119866/
あるど
February 20, 2019
Tweet
Share
More Decks by あるど
See All by あるど
Unity WebGL向けにjsでネイティブプラグイン書いた話
mizotake
0
480
OSSをゆるっとやるだけでも 楽しいなって話
mizotake
2
3.7k
手軽なトラッキング技術で遊んでみた
mizotake
0
3.3k
GitHub_Actionsをセルフホストランナーで導入する
mizotake
0
3.4k
Kotlin/Native With Unity
mizotake
1
260
Other Decks in Programming
See All in Programming
エンジニアとして高みを目指す、 利益を生み出す設計の考え方 / design-for-profit
minodriven
23
12k
明日から始めるリファクタリング
ryounasso
0
110
Reduxモダナイズ 〜コードのモダン化を通して、将来のライブラリ移行に備える〜
pvcresin
2
690
止められない医療アプリ、そっと Swift 6 へ
medley
1
120
CSC509 Lecture 04
javiergs
PRO
0
300
開発者への寄付をアプリ内課金として実装する時の気の使いどころ
ski
0
350
ネイティブ製ガントチャートUIを作って学ぶUICollectionViewLayoutの威力
jrsaruo
0
130
いま中途半端なSwift 6対応をするより、Default ActorやApproachable Concurrencyを有効にしてからでいいんじゃない?
yimajo
2
340
ポスターセッション: 「まっすぐ行って、右!」って言ってラズパイカーを動かしたい 〜生成AI × Raspberry Pi Pico × Gradioの試作メモ〜
komofr
0
950
そのpreloadは必要?見過ごされたpreloadが技術的負債として爆発した日
mugitti9
2
3k
Model Pollution
hschwentner
1
180
Pull-Requestの内容を1クリックで動作確認可能にするワークフロー
natmark
2
450
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
Thoughts on Productivity
jonyablonski
70
4.9k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
The Pragmatic Product Professional
lauravandoore
36
6.9k
Mobile First: as difficult as doing things right
swwweet
224
10k
Scaling GitHub
holman
463
140k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Git: the NoSQL Database
bkeepers
PRO
431
66k
The Straight Up "How To Draw Better" Workshop
denniskardys
237
140k
Transcript
Unity開発でCI/CDを 使おうと思った時 失敗LT祭! 〜俺の話を聞いてくれ〜 2019/02/20
自己紹介 • あるど(24) @OrangeGKeeper • 色々なことをやってる会社に勤務 ◦ Smartphone team Engineer
◦ 最終出社日2/28 • 好きなVtuberはMonterZ MATE • 好きなVライバーは空兎ヨル
趣味でゲームやコンテンツを開発
失敗した話
その前に
会社に入ってから気付くこと アプリの自動ビルドや自動配信便利!
趣味はUnityばかりで開発するんだけど… 出来れば無料CI/CDでやりたい!
UnityのCI情報はオンプレCI/CDの Jenkinsばかり…でも、やるか!
2006年代のiMacで運用 Jenkins機 開発機
Jenkinsを自宅で運用したら 電気代が約3,000円増えた件
このままじゃだめだ…! Cloud CI/CDに変えよう…
Unity Cloud Build https://unity3d.com/jp/unity/features/cloud-build
Unity Cloud Build • Unity公式CI/CDツール • 2018/01より有償化 ◦ 最低でもUnity Teamsへの加入が必要(月々$9)
• Build Platform ◦ スマホ(iOS/Android) ◦ WebGL ◦ デスクトップ(Windows/MacOS/Linux)
yml定義とかで使えるものないかな
GitLab CI/CD https://about.gitlab.com/product/continuous-integration/
GitLab CI/CD • gableroux/unity3d-gitlab-ci-example • UnityでのCI/CDをGitLabでやっている方がいる • さらにはTravisサポートまで! • featureでCircleCIを含めている
• DockerHubにてUnityを含んだLinuxのDockerfileを 公開してくれている gableroux/unity3d • 無料プランは1ヶ月2,000分のPipelineを回す時間が 与えられる
CircleCI https://circleci.com/
CircleCI • CircleCIでUnityのTest&Buildを雰囲気理解で走らせ た 記事書きました。 • 無料プランは1ヶ月1,000分の時間制限がある • unity3d-gitlab-ci-example を参考にCircleCIで
fastlaneを使ったAndroidビルドできました PullRequestも送ってみた • iOSは検証環境を持ってないので…いつか…
CircleCI CI/CDはやはり精神安定剤
おまけ失敗: 初めてforkした https://github.com/MizoTake/unity3d-ci-example
おまけ失敗: 初めてforkした 手元のリポジトリでPR作ろうとしたら間違えた デフォルトで本家にPR行くようになっていた
おまけ失敗: 初めてforkした
CircleCIのビルドからわかったこと • gableroux/unity3d のDockerデータがあれば大体ど の環境でも動かせる ◦ TagでMoble用(iOS/Android)もある • UnityのLicenseさえ通せばなんとでもなる •
ここまで全てCommand Line解決できる
ということは別のCI/CD環境で も応用は全然できそう
Azure Pipelines https://azure.microsoft.com/ja-jp/services/devops/pipelines/
Azure Pipelines • オープンソースなら並列ジョブを10まで回せる ◦ 時間制限なし ◦ Linux, macOS, Windowsの環境を選べる
• GUIでワークフロー構築ができる ◦ もちろんymlも可 ➔ 趣味なら全然良さそう
まとめ • Cloud CI/CDサービスがやはりメンテや電気代の面 で良い(迫真) • forkした後にPR作るときはマージ先を確認(永遠に残 る) • UnityだからCI/CDをやり辛いなどはない
• Azure Pipelinesつおい • 精神を安定させて開発をしていこう
おわり