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
230
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
560
Amazon ECS で作るスケーラブルなセルフホストランナー / GitHub Actions Meetup Tokyo #4
ponkio_o
PRO
2
790
業務で使えるかもしれない…!?GitHub Actions の Tips 集 / CI/CD Test Night #7
ponkio_o
PRO
43
18k
aqua で始める CI-Friendly なツール管理
ponkio_o
PRO
3
1.1k
set-terraform-matrix という Actions を作った / set-terraform-matrix-actions
ponkio_o
PRO
0
520
NGINX Ingress Controller を活用した Retty のサービス開発とモニタリング / NGINX ユーザー会 2022 春
ponkio_o
PRO
0
200
Retty における Signal Sciences の導入事例 / Fastly Yamagoya 2021
ponkio_o
PRO
0
4.4k
Amazon EKS を活用した個人開発環境の整備と自動化への取り組み / CNDT2021
ponkio_o
PRO
0
520
Terraform における秘匿情報管理 / Credentials management in Terraform
ponkio_o
PRO
0
370
Other Decks in Technology
See All in Technology
いまからでも遅くない!コンテナでWebアプリを動かしてみよう!コンテナハンズオン編
nomu
0
190
事業モメンタムを生み出すプロダクト開発
macchiitaka
0
110
ライフステージの変化を乗り越える 探索型のキャリア選択
tenshoku_draft
2
320
Amazon Athenaから利用時のGlueのIcebergテーブルのメンテナンスについて
nayuts
0
130
スクラムというコンフォートゾーンから抜け出そう!プロジェクト全体に目を向けるインセプションデッキ / Inception Deck for seeing the whole project
takaking22
3
230
完璧を捨てろ! “攻め”のQAがもたらすスピードと革新/20250306 Hiroki Hachisuka
shift_evolve
0
150
プロダクト開発者目線での Entra ID 活用
sansantech
PRO
0
180
AIエージェント入門
minorun365
PRO
35
20k
【内製開発Summit 2025】イオンスマートテクノロジーの内製化組織の作り方/In-house-development-summit-AST
aeonpeople
2
1.2k
データモデルYANGの処理系を再発明した話
tjmtrhs
0
380
株式会社Awarefy(アウェアファイ)会社説明資料 / Awarefy-Company-Deck
awarefy
3
12k
User Story Mapping + Inclusive Team
kawaguti
PRO
3
570
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.2k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
134
33k
Product Roadmaps are Hard
iamctodd
PRO
51
11k
The Pragmatic Product Professional
lauravandoore
32
6.4k
The Cost Of JavaScript in 2023
addyosmani
47
7.5k
Thoughts on Productivity
jonyablonski
69
4.5k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
Unsuck your backbone
ammeep
669
57k
Site-Speed That Sticks
csswizardry
4
420
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
Six Lessons from altMBA
skipperchong
27
3.6k
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