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
260
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
Kubernetes だけじゃない!Amazon ECS で実現するクラウドネイティブな GitHub Actions セルフホストランナー / CNDW2024
ponkio_o
PRO
6
630
Amazon ECS で作るスケーラブルなセルフホストランナー / GitHub Actions Meetup Tokyo #4
ponkio_o
PRO
2
870
業務で使えるかもしれない…!?GitHub Actions の Tips 集 / CI/CD Test Night #7
ponkio_o
PRO
42
19k
aqua で始める CI-Friendly なツール管理
ponkio_o
PRO
3
1.2k
set-terraform-matrix という Actions を作った / set-terraform-matrix-actions
ponkio_o
PRO
0
570
NGINX Ingress Controller を活用した Retty のサービス開発とモニタリング / NGINX ユーザー会 2022 春
ponkio_o
PRO
0
230
Retty における Signal Sciences の導入事例 / Fastly Yamagoya 2021
ponkio_o
PRO
0
4.6k
Amazon EKS を活用した個人開発環境の整備と自動化への取り組み / CNDT2021
ponkio_o
PRO
0
560
Terraform における秘匿情報管理 / Credentials management in Terraform
ponkio_o
PRO
0
390
Other Decks in Technology
See All in Technology
Grafana MCP serverでなんかし隊 / Try Grafana MCP server
kohbis
0
340
成立するElixirの再束縛(再代入)可という選択
kubell_hr
0
240
評価の納得感を2段階高める「構造化フィードバック」
aloerina
1
160
菸酒生在 LINE Taiwan 的後端雙刀流
line_developers_tw
PRO
0
130
Whats_new_in_Podman_and_CRI-O_2025-06
orimanabu
3
170
型システムを知りたい人のための型検査器作成入門
mame
14
3.7k
マルチテナント+マルチプロダクト SaaS への AI Agent の組み込み方
kworkdev
PRO
2
320
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.6k
「どこにある?」の解決。生成AI(RAG)で効率化するガバメントクラウド運用
toru_kubota
2
380
New Cache Hierarchy for Container Images and OCI Artifacts in Kubernetes Clusters using Containerd / KubeCon + CloudNativeCon Japan
pfn
PRO
0
150
kubellが挑むBPaaSにおける、人とAIエージェントによるサービス開発の最前線と技術展望
kubell_hr
0
280
Tenstorrent HW/SW 概要説明
tenstorrent_japan
0
390
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
299
21k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Writing Fast Ruby
sferik
628
61k
We Have a Design System, Now What?
morganepeng
52
7.6k
Stop Working from a Prison Cell
hatefulcrawdad
269
20k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
6
690
Faster Mobile Websites
deanohume
307
31k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Code Reviewing Like a Champion
maltzj
524
40k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
How to train your dragon (web standard)
notwaldorf
92
6.1k
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