🌊
RenovateをiOSアプリに最小構成で導入する
Renovateとは
Renovateは、ライブラリの依存関係の更新を自動化するツールです。
Renovateを導入することで、RenovateがOSSライブラリの更新してくれたPRを自動で出してくれます。
Renovateは現在(2022/09/11)、CocoaPods、Package.swift、Mintに対応しています。
RenovateをiOSアプリに最小構成で導入する
構成要素
- ホスト先: Mend
- インストール方法: Github App
- 料金: 無料
インストールするとConfigure RenovateというPRが作成されます。
最初のPRでは、renovate.jsonが作成されます。
Renovateが作成した最初のPRをマージすると、Renovateが実行するようになります。
Renovateが作成したrenovate.jsonをそのまま使用しても良いですが、ライブラリのグルーピングや同時に作成できるPR数を制限するとさらに良いです。
CocoaPodsを使用している場合、1度に複数のPRが作成されてしまうと、チェックサム値でコンフリクトが発生してしまいます。
そこで今回は、Renovateが作成できるOpenなPR数を1にしています。
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": ["main"],
"prConcurrentLimit": 1,
"reviewers": [
"coffmark"
],
"vulnerabilityAlerts":{
"enabled": true
},
"dependencyDashboard": true,
"packageRules": [
{
"groupName": "RxSwift",
"managers": ["cocoapods"],
"packageNames": [
"RxSwift",
"RxCocoa",
"RxRelay",
"RxTest",
"RxBlocking"
]
}
]
}
また、Mend DashboardではRenovateの実行ログを見ることができます。
参考文献
Discussion