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
200
あんまり触れられてない気がする、Kotlin1.3の ありがたい追加機能
yamacraft
0
2.9k
ありがたいUIをもっと大事にしたい
yamacraft
2
2.3k
Quickstart-android/mlkitについて
yamacraft
2
4.6k
Firebase関連をCIでデプロイするときのTips
yamacraft
0
5k
開発用途で Realtime Databaseを 導入した話
yamacraft
2
4.6k
ciecleci/androidのOpenSSLに気をつけよう
yamacraft
0
700
Realtime Databaseに向いてる・向いてないサービス
yamacraft
0
920
社内用アプリでFirebaseを使っている話
yamacraft
2
2k
Other Decks in Technology
See All in Technology
Tiptapで実現する堅牢で柔軟なエディター開発
kirik
1
150
TypeScript 上達の道
ysknsid25
23
4.8k
Power Automate のパフォーマンス改善レシピ / Power Automate Performance Improvement Recipes
karamem0
0
270
From Live Coding to Vibe Coding with Firebase Studio
firebasethailand
1
310
複数のGemini CLIが同時開発する狂気 - Jujutsuが実現するAIエージェント協調の新世界
gunta
13
3.8k
AIに全任せしないコーディングとマネジメント思考
kikuchikakeru
0
270
Kiro Hookを Terraformで検証
ao_inoue
0
130
Webの技術とガジェットで那須の子ども達にワクワクを! / IoTLT_20250720
you
PRO
0
130
【CEDEC2025】LLMを活用したゲーム開発支援と、生成AIの利活用を進める組織的な取り組み
cygames
PRO
1
1.6k
大規模イベントを支える ABEMA の アーキテクチャ 変遷 2025
nagapad
5
500
Railsの限界を超えろ!「家族アルバム みてね」の画像・動画の大規模アップロードを支えるアーキテクチャの変遷
ojima_h
4
520
ファインディにおける Dataform ブランチ戦略
hiracky16
0
210
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
35
6.8k
BBQ
matthewcrist
89
9.8k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Designing Experiences People Love
moore
142
24k
The Cult of Friendly URLs
andyhume
79
6.5k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
110
19k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.5k
Writing Fast Ruby
sferik
628
62k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
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ͷόοΫΞοϓ • ςετͷްΈ͕૿͑ͨͱ͖ͷʮςετ͔࣌ؒ ͔Γ͗͢ʯ • ػछґଘͷࣄલνΣοΫࠓޙղܾͰ͖ͦ ͏ʹͳ͍
ΑΖ͓͘͠ئ͍͠·͢ʂ
͓͠·͍