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
1.2k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
弊社のアプリ開発CI環境
2017/05/10 Android Testing Bootcamp#6にて発表した資料です
yamacraft
May 10, 2017
More Decks by yamacraft
See All by yamacraft
なぜアプリのデザインとその実装はうまくいかないのか?
yamacraft
0
220
あんまり触れられてない気がする、Kotlin1.3の ありがたい追加機能
yamacraft
0
3.2k
ありがたいUIをもっと大事にしたい
yamacraft
2
2.5k
Quickstart-android/mlkitについて
yamacraft
2
5.1k
Firebase関連をCIでデプロイするときのTips
yamacraft
0
5.1k
開発用途で Realtime Databaseを 導入した話
yamacraft
2
4.7k
ciecleci/androidのOpenSSLに気をつけよう
yamacraft
0
740
Realtime Databaseに向いてる・向いてないサービス
yamacraft
0
990
社内用アプリでFirebaseを使っている話
yamacraft
2
2k
Other Decks in Technology
See All in Technology
数値で見る Microsoft MVP 〜Spec Kit と GitHub Copilot Agent で作るデータ可視化ダッシュボード〜
yutakaosada
0
170
AI研修(Day2)【MIXI 26新卒技術研修】
mixi_engineers
PRO
2
1.5k
データ組織の転換期 一足飛びしない段階的戦略
leveragestech
PRO
0
110
Atlassian Cloudサポート業務でのAIエージェント活用事例
smt7174
0
110
1台から試せる!Edge IoTを使った位置情報の活用設計【SORACOM Discovery 2026】
soracom
PRO
0
110
AWS環境のセキュリティ不安を解消した企業事例 ~よくある課題と対策を一挙公開~
asanoharuki
0
250
ソフトウェアアーキテクチャ研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
2
1k
AI研修(Day1)【MIXI 26新卒技術研修】
mixi_engineers
PRO
2
2.7k
テックカンファレンス三大ステークホルダーの文化人類学 ─ 違いを認め合う関係性作り
bash0c7
4
1.1k
データ活用研修 データマネジメント【MIXI 26新卒技術研修】
mixi_engineers
PRO
4
790
LLMリーダーボードアップデートに向けたAgentic Math_SWEのトレースについて
nejumi
0
130
それでも、技術なブログを書く理由 #kichijojipm / Why I Still Write Tech Blogs Even Now
shinkufencer
0
1.3k
Featured
See All Featured
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
72
41k
Optimising Largest Contentful Paint
csswizardry
37
3.8k
So, you think you're a good person
axbom
PRO
2
2.1k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
160
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Raft: Consensus for Rubyists
vanstee
141
7.6k
sira's awesome portfolio website redesign presentation
elsirapls
0
310
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.7k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.6k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
230
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
370
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ͷόοΫΞοϓ • ςετͷްΈ͕૿͑ͨͱ͖ͷʮςετ͔࣌ؒ ͔Γ͗͢ʯ • ػछґଘͷࣄલνΣοΫࠓޙղܾͰ͖ͦ ͏ʹͳ͍
ΑΖ͓͘͠ئ͍͠·͢ʂ
͓͠·͍