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
弊社のアプリ開発CI環境
Search
yamacraft
May 10, 2017
Technology
0
1.2k
弊社のアプリ開発CI環境
2017/05/10 Android Testing Bootcamp#6にて発表した資料です
yamacraft
May 10, 2017
Tweet
Share
More Decks by yamacraft
See All by yamacraft
なぜアプリのデザインとその実装はうまくいかないのか?
yamacraft
0
210
あんまり触れられてない気がする、Kotlin1.3の ありがたい追加機能
yamacraft
0
3k
ありがたいUIをもっと大事にしたい
yamacraft
2
2.3k
Quickstart-android/mlkitについて
yamacraft
2
4.7k
Firebase関連をCIでデプロイするときのTips
yamacraft
0
5k
開発用途で Realtime Databaseを 導入した話
yamacraft
2
4.6k
ciecleci/androidのOpenSSLに気をつけよう
yamacraft
0
710
Realtime Databaseに向いてる・向いてないサービス
yamacraft
0
930
社内用アプリでFirebaseを使っている話
yamacraft
2
2k
Other Decks in Technology
See All in Technology
AI-Readyを目指した非構造化データのメダリオンアーキテクチャ
r_miura
1
320
Dylib Hijacking on macOS: Dead or Alive?
patrickwardle
0
470
AIエージェントによる業務効率化への飽くなき挑戦-AWS上の実開発事例から学んだ効果、現実そしてギャップ-
nasuvitz
5
1.2k
OTEPsで知るOpenTelemetryの未来 / Observability Conference Tokyo 2025
arthur1
0
250
What's new in OpenShift 4.20
redhatlivestreaming
0
260
頭部ふわふわ浄酔器
uyupun
0
110
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
0
360
オブザーバビリティと育てた ID管理・認証認可基盤の歩み / The Journey of an ID Management, Authentication, and Authorization Platform Nurtured with Observability
kaminashi
1
710
Copilot Studio ハンズオン - 生成オーケストレーションモード
tomoyasasakimskk
0
230
From Natural Language to K8s Operations: The MCP Architecture and Practice of kubectl-ai
appleboy
0
220
AI駆動で進める依存ライブラリ更新 ─ Vue プロジェクトの品質向上と開発スピード改善の実践録
sayn0
1
320
【SORACOM UG Explorer 2025】さらなる10年へ ~ SORACOM MVC 発表
soracom
PRO
0
150
Featured
See All Featured
Thoughts on Productivity
jonyablonski
70
4.9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
The Straight Up "How To Draw Better" Workshop
denniskardys
238
140k
A Modern Web Designer's Workflow
chriscoyier
697
190k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
The World Runs on Bad Software
bkeepers
PRO
72
11k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
190
55k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
658
61k
YesSQL, Process and Tooling at Scale
rocio
173
15k
Navigating Team Friction
lara
190
15k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Transcript
ฐࣾͷΞϓϦ։ൃCIڥ @yamacraft
profile • @yamacraft (Wataru Yamada) • Mobile Application Engineer •
LeadingMark, inc • team Y.G.E.(private)
None
None
دߘͯ͠·͢ʂ • ൃചதʂʂ • Android 7.0/7.1 • Firebase (Android/iOS) •
Analytics • Notifications
ฐࣾͷΞϓϦ։ൃͷ CIڥʹ͍ͭͯ
લఏ • ΞϓϦΤϯδχΞগνʔϜʢ̍ʙ໊̎ʣ • ༧ࢉগͳ͍ʢ≠·ͬͨ͘ͳ͍ʣ • iOSͷCIߟྀʢಉҰԽ͓͖͍ͯͨ͠ʣ • ֎෦ͷWebαʔϏεʹཔΔબ͕Մೳ
None
։ൃϑϩʔʹ͍ͭͯ
Git Flow
Git Flowͷཧ༝ • ϦϦʔενΣοΫதʹ։ൃ͕ਐΉՄೳੑ • ݱࡏͷϦϦʔε͍ͯ͠Δόʔδϣϯͷίʔυʹ masterͷ࠷৽ίʔυͱ͔ͨͬͨ͠ • ςετྔ͕ബ͍ʢ͜͜ॏཁʣ •
GitHub FlowςετʹΑΔ࣭νΣοΫ͕ख ް͍͜ͱʴଈϦϦʔε͕લఏͱ͍͏ೝࣝ
Git Flowͷ՝ • GitHubͷPRͰreleasehotfixͷϚʔδΛ͢Δ ͷ͕໘ • ʢϚʔδͷʣॱ൪ͱ͔ؒҧ͑ͯڐ༰͢Δ ͍৺Ͱ…
Jenkins
Jenkinsͷ࠾ཧ༝ • ͱ͍͏ΑΓWebαʔϏε͔mac miniΛ͏͔ͱ͍͏બ • iOSΞϓϦͷϏϧυߟྀ͢Δඞཁ͕͋ͬͨʢҰ൪ͷཧ༝ʣ • CircleCIͩͱʢ࠷খϓϥϯͰʣ݄$39 • AppleCareͰϝϞϦੵΜͩmac
mini͕100,000ԁ • ڥʢSDKAVDʣΛͪ͜ΒଆͰίϯτϩʔϧͰ͖Δ • Android͚ͩͳΒଞʹબࢶ͋Δͱࢥ͍·͢
JenkinsΛ͏࣌ͷҙ • Ͱ͖ΔݶΓଐਓੑΛഉআ͢Δ • δϣϒݶΓͳ͘γϯϓϧʹ • δϣϒͰΔ͜ͱɺઐ༻ͷ γΣϧΛୟ͚ͩ͘ʹ͢Δ • γΣϧ༰ϦϙδτϦཧ
ʹͳΔͷͰศར
Jenkinsͷ՝ • ͦΕͰଐਓੑൈ͚͖Εͳ͍… • ಛʹϓϥάΠϯपΓͷઃఆ • ϝϯςίετ͕Ͳ͏ͯ͠ߴ͘ͳΓ͕ͪ • mac miniͦͷͷͷϝϯςߟྀ͕ඞཁ
ςετ
ݴ͏΄Ͳͳ͍ʂ
ͳͷͰɺݸਓతͳओுΛ
ςετͷࢦʹ͍ͭͯ • ެࣜͷςετΨΠυΛ९क͢Δ • https://developer.android.com/studio/test/index.html • ΧόϨοδ͕100%ʹͰ͖ΔͳΒɺͬͨํ͕ྑ͍ • େࣄͳ͜ͱɺೖྗʹର͢Δग़ྗ݁Ռ •
ςετίʔυͷϝϯςͰۤ͠Ή͙Β͍ͳΒɺਓͷखʹ ΑΔςετΛ৴ͯ͡ҕͶ͍ͨ…
ʢਓྗςετͰʣ ԿมΘͬͯͳ͍͜ͱΛ νΣοΫ͢Δͷ ͠ΜͲ͍ΑͶ
Appium͍͍ΑͶ… • SeleniumͷΞϓϦ൛ • Τϛϡ͚ͩͰͳ͘ɺ࣮ػͰಈ࡞தͷΞϓϦʹରͯ͠ς ετΛ࣮ߦͰ͖Δ • ͪͳΈʹಉ͡Α͏ͳUIςετπʔϧΛGoogleఏڙ͠ ͍ͯΔʢMonkeyRunnerʣ •
୯७ͳUIૢ࡞ςετͳΒAppiumͰͬͯ͠·͍͍ͨ
AppiumςετΘ͔ΒΜ…
None
Magic Podͱ • UIςετͷࣗಈԽαʔϏεʢΫϩʔζυβલʣ • σΟʔϓϥʔχϯάΛͬͯΩϟϓը૾͔ΒϘλϯͳͲΛೝࣝ ͯ͘͠ΕΔ • Appiumͷςετ͕؆୯ʹ࡞ΕΔʂʢ͍͍͘͢͝ʂʣ •
͜ͷษڧձͷୈ̐ճͰհ͞Ε͍ͯͨαʔϏεͰ͢ • http://blog.trident-qa.com/2016/10/ introduce_magic_pot/
αϯϓϧʢiOSΞϓϦʣ
MagicPodͰͬͯΔ͜ͱʗ Γ͍ͨ͜ͱ • ਓͷखͰΔͱʮࡶʯʹͳΓ͕ͪͳςετΛ ஔ͖͍͑ͯ͘ • ୯७ͳUIૢ࡞ʹΑΔը໘ભҠ • ʮมߋʹΑΔఆ֎ͷӨڹʯ͕ͳ͍͜ͱͷ ֬ೝ
CIͷൃՐλΠϛϯά • feature/xxxʼdevelopɺhotfix ͷPRɺrelease/xxxͷߋ৽ • ςετʴ֬ೝ༻APKͷϏϧυͱ • developͷߋ৽ʴຖேX࣌ • Magic
Podͷ࣮ࢪ • masterͷߋ৽ • APKͷϏϧυͱɺGoogle PlayͷΞοϓϩʔυ
ࠓޙͷ՝ • mac miniͷߏཧʗJenkinsͷόοΫΞοϓ • ςετͷްΈ͕૿͑ͨͱ͖ͷʮςετ͔࣌ؒ ͔Γ͗͢ʯ • ػछґଘͷࣄલνΣοΫࠓޙղܾͰ͖ͦ ͏ʹͳ͍
ΑΖ͓͘͠ئ͍͠·͢ʂ
͓͠·͍