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での自動コード修正 & PR作成
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
nanashiki
September 30, 2019
Programming
0
62
CIでの自動コード修正 & PR作成
nanashiki
September 30, 2019
Tweet
Share
More Decks by nanashiki
See All by nanashiki
UITestを活用しまだまだ不安定なSwiftUIアプリを安定的に実務運用する / iOSDC 2021
nanashiki
1
2.2k
TitechApp サークル紹介 2021
nanashiki
0
310
Other Decks in Programming
See All in Programming
朝日新聞のデジタル版を支えるGoバックエンド ー価値ある情報をいち早く確実にお届けするために
junkiishida
1
750
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
460
AI時代でも変わらない技術コミュニティの力~10年続く“ゆるい”つながりが生み出す価値
n_takehata
2
690
TROCCOで実現するkintone+BigQueryによるオペレーション改善
ssxota
0
170
Rで始めるML・LLM活用入門
wakamatsu_takumu
0
170
go directiveを最新にしすぎないで欲しい話──あるいは、Go 1.26からgo mod initで作られるgo directiveの値が変わる話 / Go 1.26 リリースパーティ
arthur1
2
520
米国のサイバーセキュリティタイムラインと見る Goの暗号パッケージの進化
tomtwinkle
2
540
Docコメントで始める簡単ガードレール
keisukeikeda
1
110
Takumiから考えるSecurity_Maturity_Model.pdf
gessy0129
1
130
技術検証結果の整理と解析をAIに任せよう!
keisukeikeda
0
110
エラーログのマスキングの仕組みづくりに役立ったASTの話
kumoichi
0
150
Go 1.26でのsliceのメモリアロケーション最適化 / Go 1.26 リリースパーティ #go126party
mazrean
1
370
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
The Curse of the Amulet
leimatthew05
1
9.7k
Color Theory Basics | Prateek | Gurzu
gurzu
0
240
Visualization
eitanlees
150
17k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
200
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
290
Faster Mobile Websites
deanohume
310
31k
Docker and Python
trallard
47
3.8k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
89
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
440
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.1k
Embracing the Ebb and Flow
colly
88
5k
Transcript
CIでの⾃動コード修正 & PR作成 nanashiki
スタディサプリEnglishのiOSのCI検査 Unit Test スクリーンショット テスト Sourcery (コード⽣成ツール) ⽣成チェック Synx (xcodeのファイル
ソートツール) Swift Format
Synx Xcode上でのファイルの並び順を綺麗にしてくれるツール うちのプロジェクトではファイル数が多すぎて⼀回の実⾏に6,7分かかかる…
スタディサプリEnglishの開発フロー ػೳ࡞ͯ͠DPNNJUQVTI1VMM3FRVFTU࡞ $*ʹΑΔݕࠪ $*ͷΤϥʔ͕ग़ͨΒमਖ਼ $*ͱϨϏϡʔͲͪΒ0,Ͱ͋ΕϚʔδ
現在の問題点 DPNNJUQVTI ػೳ"։ൃͯ͠DPNNJUQVTI1VMM3FRVFTU࡞ $*ʹΑΔݕࠪ ͘Β͍ ػೳ#ͷ։ൃΛΊͯԿͰ$*མ͔ͪͨ$JSDMF$*Ͱ֬ೝ͠ʹ͍͘ ࣍ͷػೳ#ͷ։ൃʹҠΔ ػೳ"ͷ$*ͷνΣοΫ͕མͪΔ ࣍ͷػೳ#ͷ։ൃʹΔ͕Կ͍͔ͬͯͨΕΔ
ϒϥϯνҠಈͨ͜͠ͱʹΑͬͯ$MFBO#VJMEʹͳΔ͜ͱ ここは⾃動化できるものが ありそう ϒϥϯνΛΓସ͑ͯɺ৭ʑमਖ਼࣮ߦ
簡単に⾃動で修正できそうなCI検査 Unit Test スクリーンショット テスト Sourcery (コード⽣成ツール) ⽣成チェック Synx (xcodeのファイル
ソートツール) Swift Format
CIによる'PNBUUFSνΣοΫ u 4XJGUGPSNBUͷ࣮ߦ TXJGUGPSNBU u %JGG͕ग़͍ͯͳ͍͔νΣοΫ HJUTUBUVTQPSDFMBJO %JGG͕ग़͍ͯΕ ͦΕΛDPNNJUͯ͠QVTIͯ͠ 13ग़ͤࣗಈԽͰ͖ͦ͏
u %JGG͕͋Δ߹$*ʹΤϥʔΛग़ྗ
Fastlaneを使ったCommit と Push⼿順 ݩͷ13ͷϒϥϯνͷϒϥϯν໊ʹ A@DJ@TXJGUGPSNBUAͳͲͷTVGGJYΛ͚ͭͨͷΛ मਖ਼ϒϥϯνͷ໊લͱ͢Δ طʹಉ໊ͷमਖ਼ϒϥϯν͕͋Δ߹ ݩͷ13ͷϒϥϯνQVTI͕ෳճ͓͜ͳΕͨ߹
ݹ͍मਖ਼ϒϥϯνআ͢Δɻͦͷޙϒϥϯν࡞ɻ u 'BUTMBOFʹศརؔͳͦ͞͏ɻ4IFMMTDSJQUॻ͍ͨ มߋΛDPNNJU͢Δ u 'BUTMBOFʹศརؔͳͦ͞͏ɻ4IFMMTDSJQUΛॻ͍ͨ GPSDFQVTI u 'BUTMBOFͷQVTI@UP@HJU@SFNPUFΛ༻ 13Λ࡞Δ u 'BUTMBOF ͷDSFBUF@QVMM@SFRVFTUΛ༻
None
None
⾃動機構導⼊後 ͙͢ʹػೳ#ͷ։ൃʹΕΔ ϩʔΧϧͰͷϒϥϯνҠಈͳ͘ͳͬͨ ػೳ"։ൃͯ͠DPNNJUQVTI1VMM3FRVFTU࡞ $*ʹΑΔݕࠪ ͘Β͍ ࣗಈੜ͞Εͨ13Λ֬ೝ͠Ϛʔδ ࣍ͷػೳ#ͷ։ൃʹҠΔ 'PNBUUFSTZOYͳͲͷνΣοΫ͕མͪΔ
現在動いている⾃動修正 Swift Formatの修正 Synxの実⾏ Sourcery(コード⽣成ツール)の実⾏
None
この機構の拡張性・将来性 スクリーンショットテストの⾃動PR Build number の自動 increment NotificationServiceExtension などのバージョン修正