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
3.1k
ありがたいUIをもっと大事にしたい
yamacraft
2
2.4k
Quickstart-android/mlkitについて
yamacraft
2
4.8k
Firebase関連をCIでデプロイするときのTips
yamacraft
0
5k
開発用途で Realtime Databaseを 導入した話
yamacraft
2
4.6k
ciecleci/androidのOpenSSLに気をつけよう
yamacraft
0
720
Realtime Databaseに向いてる・向いてないサービス
yamacraft
0
960
社内用アプリでFirebaseを使っている話
yamacraft
2
2k
Other Decks in Technology
See All in Technology
歴史から学ぶ、Goのメモリ管理基礎
logica0419
14
2.8k
サラリーマンソフトウェアエンジニアのキャリア
yuheinakasaka
40
19k
あの夜、私たちは「人間」に戻った。 ── 災害ユートピア、贈与、そしてアジャイルの再構築 / 20260108 Hiromitsu Akiba
shift_evolve
PRO
0
670
産業的変化も組織的変化も乗り越えられるチームへの成長 〜チームの変化から見出す明るい未来〜
kakehashi
PRO
1
730
[PR] はじめてのデジタルアイデンティティという本を書きました
ritou
1
810
旬のブリと旬の技術で楽しむ AI エージェント設計開発レシピ
chack411
1
260
Vivre en Bitcoin : le tutoriel que votre banquier ne veut pas que vous voyiez
rlifchitz
0
170
kintone開発のプラットフォームエンジニアの紹介
cybozuinsideout
PRO
0
520
チームで安全にClaude Codeを利用するためのプラクティス / team-claude-code-practices
tomoki10
7
3.3k
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
善意の活動は、なぜ続かなくなるのか ーふりかえりが"構造を変える判断"になった半年間ー
matsukurou
0
520
Claude Codeを使った情報整理術
knishioka
20
12k
Featured
See All Featured
So, you think you're a good person
axbom
PRO
1
1.9k
How to Ace a Technical Interview
jacobian
281
24k
Mind Mapping
helmedeiros
PRO
0
48
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
52
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
115
100k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.2k
Designing for Timeless Needs
cassininazir
0
120
Designing Powerful Visuals for Engaging Learning
tmiket
0
200
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.5k
Mobile First: as difficult as doing things right
swwweet
225
10k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
How to train your dragon (web standard)
notwaldorf
97
6.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ͷόοΫΞοϓ • ςετͷްΈ͕૿͑ͨͱ͖ͷʮςετ͔࣌ؒ ͔Γ͗͢ʯ • ػछґଘͷࣄલνΣοΫࠓޙղܾͰ͖ͦ ͏ʹͳ͍
ΑΖ͓͘͠ئ͍͠·͢ʂ
͓͠·͍