テックブログ

Forgejoを15.0.7から15.0.10に更新してみた

皆様こんにちは。tamです。

運用しているForgejoのバージョンを 15.0.7 から 15.0.10 に更新しました。
作業ログを兼ねて手順をまとめておきます。

環境

ホスト: forgejo.example.jp
現バージョン: Forgejo 15.0.7
更新後バージョン: Forgejo 15.0.10
インストール方式: バイナリ直接配置(systemdサービスとして管理)

事前確認

まずはリリースノートと公式のアップグレード手順に目を通しておきます。

リリースノート
15.0.8
https://codeberg.org/forgejo/forgejo/src/branch/forgejo/release-notes-published/15.0.8.md

15.0.9
https://codeberg.org/forgejo/forgejo/src/branch/forgejo/release-notes-published/15.0.9.md

15.0.10
https://codeberg.org/forgejo/forgejo/src/branch/forgejo/release-notes-published/15.0.10.md

アップグレード手順
https://forgejo.org/docs/latest/admin/upgrade/#performing-the-upgrade

同一メジャーバージョン内であれば特別な追加手順は不要で、おおまかには

  • サービス停止
  • バイナリ差し替え
  • サービス起動

という流れで更新できるようです。
起動時に必要であればDBマイグレーションが自動実行されます。
なお、16系以降へのアップグレードでは別途注意事項がありますが、今回は15系内での更新なので対象外です。

まず始めに

念のため作業前にバックアップを取得します。
バイナリの差し替えだけとはいえ、DBマイグレーションが走る可能性がある以上、切り戻せる状態を用意しておくと安心です。
今回は利用しているクラウド環境のスナップショットを取得しました。

アップグレード作業

それではアップグレードを行っていきます。
サービスの停止時間を短くするため、新バイナリのダウンロード、チェックサム検証、実行権限の付与までを先に済ませておきます。

まずは新バイナリをダウンロードします。

root@forgejo:~# wget https://code.forgejo.org/forgejo/forgejo/releases/download/v15.0.10/forgejo-15.0.10-linux-amd64


チェックサムの検証を行います。

root@forgejo:~# wget https://code.forgejo.org/forgejo/forgejo/releases/download/v15.0.10/forgejo-15.0.10-linux-amd64.sha256
root@forgejo:~# sha256sum -c forgejo-15.0.10-linux-amd64.sha256
forgejo-15.0.10-linux-amd64: OK


問題なかったので実行権限を付与します。

root@forgejo:~# chmod +x forgejo-15.0.10-linux-amd64


準備が整いました。いよいよ更新作業です。
Forgejoを停止します。

root@forgejo:~# systemctl stop forgejo


cpコマンドを使ってバイナリを差し替えます。

root@forgejo:~# cp -p forgejo-15.0.10-linux-amd64 /usr/local/bin/forgejo
root@forgejo:~# ll /usr/local/bin/forgejo
-rwxr-xr-x 1 root root 116555752 Oct 12 22:26 /usr/local/bin/forgejo*


Forgejoを起動します。

root@forgejo:~# systemctl start forgejo


起動状況を確認します。

root@forgejo:~# systemctl status forgejo
● forgejo.service - Forgejo (Beyond coding. We forge.)
     Loaded: loaded (/etc/systemd/system/forgejo.service; enabled; preset: enabled)
     Active: active (running) since Tue 2026-11-03 16:25:48 JST; 5s ago
 Invocation: xxxxxxxxxxxxxxxxxxxxxxxxx
   Main PID: 1612278 (forgejo)
     Status: "Starting Gitea"
      Tasks: 9 (limit: 1749)
     Memory: 95.1M (peak: 95.2M)
        CPU: 1.270s
     CGroup: /system.slice/forgejo.service


バージョンを確認します。

root@forgejo:~# forgejo --version
forgejo version 15.0.10+gitea-1.22.0 (release name 15.0.10) built with GNU Make 4.4.1, go1.26.9 : bindata, timetzdata, sqlite, sqlite_unlock_notify


無事15.0.10になっていることを確認できました。

今回はありませんでしたが、DBマイグレーションが実行された場合は、ログに次のような記録が残ります。
念のために確認しておきましょう。
※ログファイルの保存場所はapp.iniの[log]セクションに記載されています。

forgejo.example.jp forgejo[21469]: Migration[v17a_add-action-run-workflow-source-commit]: add WorkflowSourceCommit to ActionRun

forgejo doctorでのチェック

公式のUpgrade guideでは、以下のコマンドを実行して問題が報告されないことを確認するよう案内されています。

forgejo doctor check --all --log-file /tmp/doctor.log


私の環境ではそのまま実行するとエラーになったため、Forgejoの実行ユーザーで、設定ファイルのパスを明示して実行しました。

root@forgejo:~# sudo -u <gituser> forgejo doctor check --all --config /<path>/app.ini --log-file /tmp/doctor.log

※ <gituser> と <path> の部分は適宜置き換えてください。

実行すると28項目のチェックが走り、すべて OK で完了しました。
途中 [W](Warn)が2箇所出ていたので内容を確認しましたが、アバター画像に関するもので、特に問題となるものではありませんでした。

まとめ

Forgejoの15.0.7→15.0.10への更新は、特につまずくポイントもなくスムーズに完了しました。
同一メジャーバージョン内のパッチアップデートであれば、バイナリを差し替えるだけで済むので気軽で助かります。
とはいえ、データベースのマイグレーションが実行される場合があるため、万が一に備えて事前にスナップショットなどのバックアップを取っておくことは必須です。

パッチバージョンにはバグ修正やセキュリティ修正が含まれることがあるため、リリースノートを確認しつつ、こまめに追従しておくのが良さそうです。
※今回もセキュリティ修正にクリティカルなものが2つ含まれていました

この記事をシェアする

  • facebook
  • twitter
  • hatena
  • line
URLとタイトルをコピーする

実績数30,000件!
サーバーやネットワークなど
ITインフラのことならネットアシストへ、
お気軽にご相談ください