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
Renovate ではじめる運用レスなライブラリ更新 / 令和最新版 他人に自慢したいヤバいC...
Search
YuyaKoda
PRO
September 26, 2024
Technology
1
180
Renovate ではじめる運用レスなライブラリ更新 / 令和最新版 他人に自慢したいヤバいCI/CD LT会 @ yabaibuki.dev #2
https://livesense.connpass.com/event/328856/
YuyaKoda
PRO
September 26, 2024
Tweet
Share
More Decks by YuyaKoda
See All by YuyaKoda
Amazon ECS で作るスケーラブルなセルフホストランナー / GitHub Actions Meetup Tokyo #4
ponkio_o
PRO
2
690
業務で使えるかもしれない…!?GitHub Actions の Tips 集 / CI/CD Test Night #7
ponkio_o
PRO
43
16k
aqua で始める CI-Friendly なツール管理
ponkio_o
PRO
2
1k
set-terraform-matrix という Actions を作った / set-terraform-matrix-actions
ponkio_o
PRO
0
460
NGINX Ingress Controller を活用した Retty のサービス開発とモニタリング / NGINX ユーザー会 2022 春
ponkio_o
PRO
0
160
Retty における Signal Sciences の導入事例 / Fastly Yamagoya 2021
ponkio_o
PRO
0
4.2k
Amazon EKS を活用した個人開発環境の整備と自動化への取り組み / CNDT2021
ponkio_o
PRO
0
490
Terraform における秘匿情報管理 / Credentials management in Terraform
ponkio_o
PRO
0
350
Other Decks in Technology
See All in Technology
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
37
12k
AGIについてChatGPTに聞いてみた
blueb
0
130
The Role of Developer Relations in AI Product Success.
giftojabu1
1
130
SRE×AIOpsを始めよう!GuardDutyによるお手軽脅威検出
amixedcolor
0
150
【Startup CTO of the Year 2024 / Audience Award】アセンド取締役CTO 丹羽健
niwatakeru
0
1.3k
アジャイルでの品質の進化 Agile in Motion vol.1/20241118 Hiroyuki Sato
shift_evolve
0
170
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
5
480
Adopting Jetpack Compose in Your Existing Project - GDG DevFest Bangkok 2024
akexorcist
0
110
Application Development WG Intro at AppDeveloperCon
salaboy
0
190
【令和最新版】AWS Direct Connectと愉快なGWたちのおさらい
minorun365
PRO
5
760
10XにおけるData Contractの導入について: Data Contract事例共有会
10xinc
6
650
New Relicを活用したSREの最初のステップ / NRUG OKINAWA VOL.3
isaoshimizu
3
620
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
How GitHub (no longer) Works
holman
310
140k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
97
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Building an army of robots
kneath
302
43k
Transcript
© DeNA Co., Ltd. 1 Renovate ではじめる 運用レスなライブラリ更新 幸田優哉 IT
本部品質管理部 SWET 第二グループ 株式会社ディー・エヌ・エー
© DeNA Co., Ltd. 2 Yuya Koda 約1年前に DeNA の
SWET (SoftWare Engineer in Test) チームに Join しました。 お仕事は全社向けに提供している GitHub Actions self-hosted runner をいい感じにすることです。 最近のマイブームは立ち飲み屋さん巡り DeNA IT 本部品質管理部 SWET 第二グループ ponkio_o © DeNA Co., Ltd. 自己紹介 koday.me
© DeNA Co., Ltd. 3 Renovate とは
© DeNA Co., Ltd. 4 • 各種ライブラリやツールのバージョンのアップデートを自動で行ってくれるやつ ◦ 公式ドキュメントの Bot
comparsion で Dependabot との比較がある • Dependabot と比較してかなり細かくカスタマイズすることができる ◦ 対応しているサービスもかなり多く、Custom Manager (旧: Regex Manager) を 使うと正規表現などを用いて任意のファイルを対応させることもできる 1 Renovate とは
© DeNA Co., Ltd. 5 運用負荷を下げるために
© DeNA Co., Ltd. 6 automerge と renovate-approve-bot
© DeNA Co., Ltd. 7 automerge の徹底活用 • 様々なルールに応じて PR
の作成だけでなく、マージまで行ってくれる設定 ◦ 特定のパッケージのみ、patch バージョンの更新のみなど個別に指定可能 • GitHub の Branch Protection が設定されている場合にはそのステータスも考慮される 1
© DeNA Co., Ltd. 8 renovate-approve-bot • automerge の設定が有効な PR
に対して Approve を付けてくれる GitHub Apps ◦ Branch Protection で Require approvals が設定されている場合に便利 • 使い方は GitHub Apps をインストールするだけで OK ◦ Self-hosted Renovate の場合には renovatebot/renovate-approve-bot を適当な 場所で動かすだけで導入できる (中身はシンプルな Webhook Server) 2 renovate-approve による Approve
© DeNA Co., Ltd. 9 automerge 利用時のポイント 「デフォルトブランチに自動でマージされるのはちょっと怖い…」という人に向けて • まずは直接サービスに影響しないものから始めるのがオススメ
◦ 例えば CI で利用しているツールや、テストで利用しているモックライブラリなど • PR で実行されるテストや Lint を充実させる ◦ CI のステータスはちゃんと見てくれるので、これらが充実していると安心感がある • 進んできたら徐々に範囲を拡大していく ◦ 対象パッケージ、対象バージョンを広げていく ▪ 無理に全部をやる必要はないのでバランス大事 3
© DeNA Co., Ltd. 10 Shareable Config
© DeNA Co., Ltd. 11 Shareable Config Presets • Renovate
の Config を複数のリポジトリで共有するための機能 • どのリポジトリでも入れるような設定をここに書いておくと便利 ◦ 個別に適用したい設定がある場合にはリポジトリごとに配置する設定ファイルで 上書きすることができる • この Config のバージョニングも可能 (Renovate でアップデートもできる) 1 owner-name/renovate-config のバージョン 0.1.0 を読み込んでいる様子
© DeNA Co., Ltd. 12 Built-in presets • デフォルトで様々な便利プリセットが存在するので利用すると記述を減らせる ◦
とりあえず入れておくといい: config:recommended ◦ 営業時間外にアップデートしてくれる: schedule:nonOfficeHours • もちろん独自の設定とも併用可能 2 Built-in presets と独自の設定の併用例
© DeNA Co., Ltd. 13