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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
tt
November 02, 2018
Programming
2
510
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
100
そろそろGraphQLの話をしよう
tatsushitoji
1
300
try Undux but...
tatsushitoji
0
280
Other Decks in Programming
See All in Programming
文字コードの話
qnighy
44
17k
ベクトル検索のフィルタを用いた機械学習モデルとの統合 / python-meetup-fukuoka-06-vector-attr
monochromegane
2
390
CSC307 Lecture 13
javiergs
PRO
0
320
nilとは何か 〜interfaceの構造とnil!=nilから理解する〜
kuro_kurorrr
3
1.9k
Takumiから考えるSecurity_Maturity_Model.pdf
gessy0129
1
140
Vuetify 3 → 4 何が変わった?差分と移行ポイント10分まとめ
koukimiura
0
120
maplibre-gl-layers - 地図に移動体たくさん表示したい
kekyo
PRO
0
250
AI時代のシステム設計:ドメインモデルで変更しやすさを守る設計戦略
masuda220
PRO
5
910
AHC061解説
shun_pi
0
360
AI主導でFastAPIのWebサービスを作るときに 人間が構造化すべき境界線
okajun35
0
710
AI時代でも変わらない技術コミュニティの力~10年続く“ゆるい”つながりが生み出す価値
n_takehata
2
720
Swift ConcurrencyでよりSwiftyに
yuukiw00w
0
260
Featured
See All Featured
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
190
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
Rails Girls Zürich Keynote
gr2m
96
14k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
860
Chasing Engaging Ingredients in Design
codingconduct
0
140
Unsuck your backbone
ammeep
672
58k
Docker and Python
trallard
47
3.8k
Balancing Empowerment & Direction
lara
5
940
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
82
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
150
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
83
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