Backstageのバージョンをアップグレードする
はじめに
今回は、Backstageのバージョンをアップグレードする方法について説明します。
Backstage自体については、下記の記事を参照してください。

【CNCF】Backstage触ってみた(Software Catalog)
はじめに CNCF プロジェクトの一つである、Backstage についてざっくり紹介して、メイ
Backstageのバージョン
Backstageは大体1ヶ月に1回のペースでバージョンアップされています。結構な頻度で更新されているのでなるべく最新のバージョンに追いつけるようにしておきたいです。
Backstage自体は、単体のパッケージではなく、複数のパッケージからなるアプリケーションなので、バージョンアップする際には複数のパッケージをアップグレードしつつ、@backstage/create-app
で作成したテンプレートの最新版を取り込む必要があります。
backstage-cliでバージョンアップ
まずは、backstage-cli
を使って@backstage
パッケージのバージョンをまとめてアップグレードします。
1yarn backstage-cli versions:bump
@backstage/*
のパッケージ以外にプラグインを使っている場合は、--pattern
オプションでパターンを指定してアップグレードできます。
1yarn backstage-cli versions:bump --pattern '@{backstage,roadiehq}/*'
create-app templateの差分反映
次に、@backstage/create-app
で作成されるテンプレートの最新版までの差分を取り込みます。
すでに開発しているBackstageアプリケーションは、最初に作成されたタイミングでのテンプレートを元にしているため、その後のテンプレートの変更点を取り込む必要があります。こちらは、backstage-cli
で自動で行うなどはできないため、backstage/create-app
のchangelogを確認、もしくはBackstgage Upgrade Helperを使って手動で差分を確認して取り込む必要があります。
全ての変更が自分のBackstageに関係あるとは限らないので、changelogとBackstgage Upgrade Helperを確認しつつ、必要な部分を変更していく必要があると思います。
実際にサンプルで試してみる
サンプル用に作成したBackstageがあったので、こちらを使ってバージョンアップを試してみます。
GitHub - monda00/backstage-sample
Contribute to monda00/backstage-sample development by creating an account on GitHub.
現在(2025/03/15)の最新バージョンは、1.36.1
ですが、サンプルは1年ぐらい前に作成したものだったので、バージョンが1.25.0
とかなり古くなってました。
まずは、backstage-cli
を使ってバージョンアップを行います。
1❯ yarn backstage-cli versions:bump
2yarn run v1.22.22
3
4Using default pattern glob @backstage/*
5Checking for updates of @backstage/app-defaults
6Checking for updates of @backstage/catalog-model
7Checking for updates of @backstage/cli
8Checking for updates of @backstage/core-app-api
9Checking for updates of @backstage/core-components
10Checking for updates of @backstage/core-plugin-api
11Checking for updates of @backstage/integration-react
12Checking for updates of @backstage/plugin-api-docs
13Checking for updates of @backstage/plugin-catalog
14Checking for updates of @backstage/plugin-catalog-common
15
16...
17
18
19 @backstage/plugin-permission-common : 0.7.13 ~> 0.8.4
20 https://github.com/backstage/backstage/blob/master/plugins/permission-common/CHANGELOG.md
21
22 @backstage/plugin-permission-node : 0.7.29 ~> 0.8.8
23 https://github.com/backstage/backstage/blob/master/plugins/permission-node/CHANGELOG.md
24
25 @backstage/plugin-proxy-backend : 0.4.16 ~> 0.5.11
26 https://github.com/backstage/backstage/blob/master/plugins/proxy-backend/CHANGELOG.md
27
28 @backstage/plugin-search-backend-module-catalog : 0.1.24 ~> 0.3.1
29 https://github.com/backstage/backstage/blob/master/plugins/search-backend-module-catalog/CHANGELOG.md
30
31 @backstage/plugin-search-backend-module-techdocs : 0.1.23 ~> 0.3.6
32 https://github.com/backstage/backstage/blob/master/plugins/search-backend-module-techdocs/CHANGELOG.md
33
34 @backstage/theme : 0.5.5 ~> 0.6.4
35 https://github.com/backstage/backstage/blob/master/packages/theme/CHANGELOG.md
36
37Version bump complete!
38
39✨ Done in 48.56s.
差分は下記のコミットから確認できます。Backstage自体のバージョン(backstage.json
に記載されているバージョン)と、@backstage/*
のパッケージのバージョンがアップグレードされていることが確認できます。
Update Backstage version using backstage-cli · monda00/backstage-sample@25e44e8
Contribute to monda00/backstage-sample development by creating an account on GitHub.
次に、下記のBackstage Upgrade Helperを使って、1.25.0
から1.36.1
までの差分を確認して、必要な変更を取り込みます。
Upgrade Backstage applications
実際に取り込んだ変更は下記のコミットから確認できます。Yarnのバージョンが上がって、Lernnが使われなくなったり、Dockerfileの変更があったり、パッケージもいくつかバージョンが上がってたり、使われなくなってたりしました。
unknown linkまとめ
Backstageのバージョンアップは、backstage-cli
を使って@backstage/*
のパッケージをアップグレードし、@backstage/create-app
で作成されるテンプレートの差分を取り込む必要があります。
パッケージのアップグレードはbackstage-cli
で自動で行えますが、テンプレートの差分取り込みは手動で行う必要があるため、こまめにアップグレードしておかないと、差分が大きくなってしまうので注意が必要そうでした。
参考
- Keeping Backstage Updated | Backstage Software Catalog and Developer Platform
- Upgrade Backstage applications
- backstage/packages/create-app/CHANGELOG.md at master · backstage/backstage
- monda00/backstage-sample