Scalaで実装されたオープンソースのGitサーバ、GitBucket 4.43.0をリリースしました。
https://github.com/takezoe/gitbucket/releases/tag/4.43.0
今回はH2の1.x系から2.x系へのアップグレードがメインです。H2は1.x系と2.x系でデータファイルに互換性がないので長らくアップグレードを躊躇っていたのですが、セキュリティ上の問題などもあり、いつまでも古いバージョンを使い続けるわけにもいかないので思い切ってアップグレードすることにしました。
GitBucketの自動マイグレーション機構はDBが生きていないと使えないため、GitBucketのデータ保存先にデフォルトのH2を使用している場合はアップグレード前に以下のような手順で手動でデータファイルの移行(データベースの作り直し)を行う必要があります。
# Export database using the current version of H2 $ curl -O https://repo1.maven.org/maven2/com/h2database/h2/1.4.199/h2-1.4.199.jar $ java -cp h2-1.4.199.jar org.h2.tools.Script -url "jdbc:h2:~/.gitbucket/data" -user sa -password sa -script dump.sql # Recreate database using the new version of H2 $ curl -O https://repo1.maven.org/maven2/com/h2database/h2/2.3.232/h2-2.3.232.jar $ java -cp h2-2.3.232.jar org.h2.tools.RunScript -url "jdbc:h2:~/.gitbucket/data" -user sa -password sa -script dump.sql
また、./.gitbucket/database.conf
の設定に以下のようになっている場合、url
から;MVCC=true
を削除する必要があります。
db { url = "jdbc:h2:${DatabaseHome};MVCC=true" // => "jdbc:h2:${DatabaseHome}" ... }
今回のバージョンではこの他にもバグ修正、細かい改善、内部ライブラリの更新などを行っています。詳細についてはIssueの一覧をご覧ください。