はじめに
Renovate
という、パッケージマネージャーで管理しているライブラリのアップデートを自動化できるツールを知り
iOSアプリのCocoapods
で管理しているライブラリ更新を自動化させた内容をまとめました。
内容
チュートリアルがありましたので、こちらを参考にしながらやっていきいます👇
1.インストール
GitHub Apps経由でRenovateをRepositoryに追加する
今回は対象のRepositoryのみに追加したいのでOnly select repositories
から対象のRepositoryを選択、ガイドに従って進む
登録完了まで進んでいくとダッシュボードが表示され、先ほど選択したRepositoryの表示が確認できる
2.オンボーディング
GithubからRenovateを追加したRepositoryを見ると、新しいPR(オンボーディングPR)が自動生成されているのを確認できる
オンボーディングPRではrenovate.json
というファイルが生成されていて
このファイルを書き換えることでRenovate
の設定ができる
renovate/configuration
のブランチでrenovate.json
を修正
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:base"
]
}
ドキュメントには細かく記載があるが、今回はいくつかの記事を参考にしながらrenovate.json
を修正
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["config:base", ":timezone(Asia/Tokyo)"],
"labels": ["dependencies", "renovate"],
"enabled": true,
"automerge": false,
"branchPrefix": "renovate/",
"separateMajorMinor": true,
"separateMultipleMajor": true,
"prCreation": "immediate",
"prHourlyLimit": 0,
"baseBranches": ["master"],
"prConcurrentLimit": 1,
"vulnerabilityAlerts":{
"enabled": true
},
"dependencyDashboard": true,
}
修正が完了したら、コミットしてPRを更新しておく
Renovateを使ってライブラリをアップデート
オンボーディングPRをマージすることで
アップデート可能なライブラリが存在する場合はPRが自動生成される
マージすることでライブラリのアップデートが完了
ダッシュボードを確認するとRenovate
のログが表示されていることがわかる
Issueに生成されているDependency Dashboard
を確認すると
自動生成されたPRやRenovate
が見ているパッケージマネージャーの内容が確認できる
ダッシュボードから直接、ライブラリ更新の作成を手動でトリガーしたり
Check this box to trigger a request Renovate to run again on this repository
オプションを有効にすることで直接手動でRenovate bot
を再実行することができる
RenovateのCocoaPodsに関わるドキュメントページ
おわりに
自動でライブラリのアップデートPRを作成してくれるのはとても便利で感動しました!Realm
を使っているとうまくいかないなど、いくつか手動で対応が必要な場合もあるようですが。。。積極的に使っていこうと思います!
参考