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
Our favorite Dependency updates has been deprived
Search
tt
November 02, 2018
Programming
2
470
Our favorite Dependency updates has been deprived
An introduction of Automated Dependency Updates with Renovate App
tt
November 02, 2018
Tweet
Share
More Decks by tt
See All by tt
戦略的なフロントエンドテストを実施するために
tatsushitoji
0
88
そろそろGraphQLの話をしよう
tatsushitoji
1
280
try Undux but...
tatsushitoji
0
270
Other Decks in Programming
See All in Programming
あなたとJIT, 今すぐアセンブ ル
sisshiki1969
1
730
マイコンでもRustのtestがしたい その2/KernelVM Tokyo 18
tnishinaga
2
2.3k
CEDEC2025 長期運営ゲームをあと10年続けるための0から始める自動テスト ~4000項目を50%自動化し、月1→毎日実行にした3年間~
akatsukigames_tech
0
150
なぜ今、Terraformの本を書いたのか? - 著者陣に聞く!『Terraformではじめる実践IaC』登壇資料
fufuhu
4
650
AWS Serverless Application Model入門_20250708
smatsuzaki
0
130
学習を成果に繋げるための個人開発の考え方 〜 「学習のための個人開発」のすすめ / personal project for leaning
panda_program
1
110
Flutter로 Gemini와 MCP를 활용한 Agentic App 만들기 - 박제창 2025 I/O Extended Seoul
itsmedreamwalker
0
150
AI OCR API on Lambdaを Datadogで可視化してみた
nealle
0
180
兎に角、コードレビュー
mitohato14
0
150
SOCI Index Manifest v2が出たので調べてみた / Introduction to SOCI Index Manifest v2
tkikuc
1
110
【第4回】関東Kaggler会「Kaggleは執筆に役立つ」
mipypf
0
790
書き捨てではなく継続開発可能なコードをAIコーディングエージェントで書くために意識していること
shuyakinjo
1
310
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
780
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
YesSQL, Process and Tooling at Scale
rocio
173
14k
How to train your dragon (web standard)
notwaldorf
96
6.2k
Fireside Chat
paigeccino
39
3.6k
RailsConf 2023
tenderlove
30
1.2k
Rails Girls Zürich Keynote
gr2m
95
14k
Art, The Web, and Tiny UX
lynnandtonic
302
21k
Transcript
Our Favorite Dependency Updates Has Been Deprived ,BOTBJ/PEF$BNQVTUIQFSJPE !UBUTVTIJUPKJ
Hello World ! w ా࿏ཽ࢜!UBUTVTIJUPKJ w ࣾ ελʔτΞοϓ͓͡͞Μ w 'SPOUFOE&OHJOFFS
w 3FBDU)PPLTͲ͏ͳΔͷ͔ʁ খฒײ
First of all, npm’s documentation recommends that you use SemVer
• major → ϝδϟʔόʔδϣϯ1 • minor → ϚΠφʔόʔδϣϯ5 • patch → ύονόʔδϣϯ4 e.g. ^1.5.4 1.5.4Ҏ্2.0ະຬ
How to update npm packages ? Search for updates on
your own ? npm outdated ? yarn outdated ? yarn upgrade-interactive ? npx npm-check ?
How to update npm packages with apps ? ci-yarn-upgrade ?
green-keeper ? greenkeeper-keeper ? hothouse ?
In any case, There is our work ! But…
On March 15, 2018 Renovate launched !
Automated Dependency Updates Save time and reduce risk by automating
dependency updates in software projects. Fully customizable with a setting to suit every workflow.
Supports • Github • GitLab (APIv4) • VSTS → Azure
DevOps • BitBucket (ରԠத)
Language Supports • WORKSPACE Bazel • travis.yml Travis • Dockerfile
/ docker-compose.yml Docker • go.mod Golang • package.json npm/yarn • requirements.txt Python/PIP • composer.json PHP
Language Supports • JavaScript • package.json ΛͱʹόʔδϣϯΛ֬ೝ • Node.js Versions
• package.jsonͷengines • nvm.rcͷόʔδϣϯ • travis.ymlͷnode_js
some of the web's best-known projects
• ࣗಈͰPR࡞ • configϑΝΠϧͰॊೈʹΧελϚΠζ • OSS(ηϧϑϗεςΟϯάՄೳʂ) • GitHub App ܦ༝Ͱ؆୯ʹಋೖ
None
Our conventional updating work 1 • ߋ৽ϒϥϯνΛͬͯPush • PR࡞ •
GitHub web hook Ͱ CI࿈ܞͤͯ͞ςετ • ςετ݁ՌΛ֬ೝͯ͠ͳ͚ΕϚʔδ
Our conventional updating work 2 • ࣗಈͰߋ৽ϒϥϯνΛͬͯPush • ࣗಈͰPR࡞ •
GitHub web hook Ͱ CI࿈ܞͤͯ͞ςετ • ςετ݁ՌΛ֬ೝͯ͠ͳ͚ΕϚʔδ
Our updating work … ? • ࣗಈͰߋ৽ϒϥϯνΛͬͯPush • ࣗಈͰPR࡞ •
GitHub web hook Ͱ CI࿈ܞͤͯ͞ςετ • ࣗಈͰςετ݁Ռ(PR or branchͷstatus)Λ֬ೝ͠ ͯͳ͚ΕϚʔδ
Installation
• https://github.com/marketplace/renovate • ϓϥϯΛબ
• ͍ͭͮͯϦϙδτϦΛબͯ͠อଘ
͠Β͘͢Δͱ Onboading PR ͕࡞͞ΕΔ
• renovate.json ΛඞཁʹԠͯ͡ΧελϚΠζ • Onboading PR ΛϚʔδ͢Δ Ϛʔδͯ͠͠Β͘͢Δͱ…
RenovateʹΑͬͯࣗಈͰPR͕࡞͞Ε·͢
None
Basic custom config { "extends": [ “config:base”, “:preserveSemverRanges" ], "timezone":
"Asia/Tokyo", "schedule": "before 4am", "automerge": true, "major": { "automerge": false }, "packageRules": [ { "updateTypes": [ "major" ], "labels": [ "UPDATE-MAJOR" ] } ] }
My Favorite Dependency Updates Has Been Deprived
But Major Version …!
Finally … • ྨࣅΞϓϦͷதͰ಄ͻͱͭൈ͖ग़͍ͯΔ • Auto merge ʹରͯ͠৺ཧత҆શͷ֬อͷͨΊʹςετ Λ͔ͬ͠Γॻ͍͓ͯ͘ͱ •
unit_test, End to End, visual regression… • configϑΝΠϧͷઃఆɺςετམͪͨͱ͖ਓؒͷ֬ೝ ͱ͍ͬͨ࡞ۀ͋Δ
thx