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
por que construimos um monorepo?
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Pietro Caselani
November 10, 2018
Programming
2
640
por que construimos um monorepo?
Pietro Caselani
November 10, 2018
Tweet
Share
More Decks by Pietro Caselani
See All by Pietro Caselani
CI no Nubank | Setup de ambientes macOS com Ansible
pietrocaselani
4
400
Other Decks in Programming
See All in Programming
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
110
ZJIT: The Ruby 4 JIT Compiler / Ruby Release 30th Anniversary Party
k0kubun
1
390
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
2
4.3k
Data-Centric Kaggle
isax1015
2
760
CSC307 Lecture 05
javiergs
PRO
0
490
AI時代の認知負荷との向き合い方
optfit
0
130
Architectural Extensions
denyspoltorak
0
270
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
0
870
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
4
200
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
1
1.1k
SourceGeneratorのススメ
htkym
0
190
Basic Architectures
denyspoltorak
0
660
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.3k
Embracing the Ebb and Flow
colly
88
5k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
Side Projects
sachag
455
43k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
52k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
47
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.5k
What's in a price? How to price your products and services
michaelherold
247
13k
Darren the Foodie - Storyboard
khoart
PRO
2
2.3k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
300
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
200
Transcript
por que construimos um monorepo? Bruno Pinheiro Pietro Caselani
- outros times focados em features - releases e automações
- infra de testes - economizar dinheiro Mobile Platform
monolito
1arquivo `.xcodeproj`
final 2016
SQUAD SQUAD SQUAD SQUAD SQUAD
None
código na master == código pronto para produção
é ela que a gente quer! master verde
problemas monolito
tempos de build e tests muito grandes
conflitos no `.xcodeproj`
código muito acoplado
frameworks
core common ui acquisition settings feed FAQ / Chat virtual
card microlibraries Credit Card NuConta app Rewards legacy code
Carthage Rome S3
builds e testes mais rápido
menos acoplamento
squads com mais autonomia
remoção de código legado
problemas frameworks
BUMP HELL!
core Credit Card NuConta app Rewards
core Credit Card NuConta app Rewards 5.0.0 Versão Lançada
core Credit Card NuConta app Rewards 5.0.0 core 5.0.0 core
5.0.0 core 5.0.0 Versão Lançada PR aberto
core Credit Card NuConta app Rewards 5.0.0 core 5.0.0 7.0.0
core 5.0.0 core 5.0.0 4.0.0 Versão Lançada PR aberto PR fechado
Credit Card NuConta Rewards core: 5.0.0 core: 5.0.0 core: 4.0.0
core Credit Card NuConta app Rewards 6.0.0 core 6.0.0 8.0.0
core 6.0.0 core 5.0.0 Versão Lançada PR aberto PR fechado
Credit Card NuConta Rewards core: 6.0.0 core: 5.0.0 core: 4.0.0
None
None
Mobile Platform aumentando a produtividade do desenvolvedor desde Nov/2017 1
iOS + 1 Android 2 pessoas ≈ 3.5 dias 6 a 7 horas até uma mudança chegar até o app final Fazer um release do app
None
e ainda temos outros problemas…
feedback de mudanças no código
releases ainda demoradas
monorepo
preocupações iniciais
tempo de build e testes
fila de pull requests (iOS + Android + RN)!
Xcode cache
None
criando o monorepo
core common ui acquisition settings feed FAQ / Chat virtual
card microlibraries Credit Card NuConta app Rewards legacy code
monorepo acquisition feed Credit Card NuConta app Rewards FAQ /
Chat legacy code
None
criar workspace e pipelines
retrocompatibilidade
mover código
None
build core common ui settings microlibraries .xctestrun
testes .xctestrun settings core common ui microlibraries
e a fila de PRs?
None
None
resultados monorepo 5 horas 5 horas até uma mudança chegar
até o app final Fazer um release do app
conclusões / aprendizado
None
sua vida é resolver problemas
“métricas hoje, métricas amanhã, métricas sempre”
futuro
www.yourdomain.com @pietrocaselani Pietro Caselani @brunopinheiro Bruno Pinheiro obrigado
sou.nu/desafio-cocoaheads
estamos contratando