3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Renovateを使ってみる

Last updated at Posted at 2023-11-04

目次

  1. 背景
  2. Renovateとは
  3. Renovateでできること
  4. 対応しているpackage manager
  5. 使ってみる
  6. 参考

1. 背景

Renovateを使うとバージョンを上げないといけないライブラリ単位でgithubのPull Requestを自動で作ってくれるらしいので興味を持ちました。

2. Renovateとは

公式では以下の定義です。

Automated dependency updates. Multi-platform and multi-language.

有名な企業にも積極的に導入されているのが伺えます。
https://docs.renovatebot.com/#who-uses-renovate
image.png

3. Renovateでできること

https://docs.renovatebot.com/#why-use-renovate

  • プルリクエストを取得して依存関係を更新し、ファイルをロックする。
  • RenovateがPRを作成するタイミングを調整することでノイズを減らす。
  • Renovateは、monoreposを含め、関連するパッケージファイルを自動的に見つける。
  • 設定ファイルでボットの動作をカスタマイズでき、そのファイルは共有可能。
  • 非推奨になった依存関係から、コミュニティが推奨する新しい依存関係に移行するためのプルリクエストを自動的に作成する。

4. 対応しているpackage manager

以下に記載ありましたのでご覧下さい。

5. 使ってみる

以下を参考に進めていきます。
renovateを使うリポジトリはこちらです。
package.jsonのdependencies,nodeのバージョンは以下です。

package.json
{

  "dependencies": {
    "typescript": "^4.1.6"
  },
  "volta": {
    "node": "18.18.0"
  }
}

Mend Renovate App をインストール

the Mend Renovate App installation pageに移動し、installをクリックして下さい。

Only select repositoriesにしました
image.png

githubの認証画面に遷移します
image.png

ダッシュボード画面

以下のようにFinishedというポップが出ました
image.png

interactiveモードを選択しました
image.png

Onboarding Pull Requestsを選択しました
image.png

image.png

github

するとこのようにPullRequestが作成されてます。
image.png
中身を見てみると、

  • package管理しているファイルの特定
    image.png

  • バージョンアップ対象のライブラリと、これから作成するPull Requestについて
    image.png

それと以下の設定ファイルが作成されてました。

renovate.json
{
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
  "extends": [
    "config:base"
  ]
}

このPull Requestをmergeすると以下のissue、Pull Requestが作成されていました。

issue
image.png

下にある、これにチェックするとPull Requestが自動で作成されます。
image.png

Pull Request
image.png

typescriptのpull requestを見てみます。
image.png

Release Notesも記載してありました。

package-lock.jsonを修正してくれてます。
image.png

これをマージすると無事完了ということになります。

6. 参考

7. 感想

  • renovate.jsonで細かい設定ができるのでそこも今度勉強したいです。
  • dependabotsynkとの違いを勉強したいと思います。
  • Renovateは自動でPull Request作って、ライブラリのバージョンを管理してくれるのでとてもありがたいツールだなと思いました。
3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?