GitBucket 4.19.0をリリースしました

4.19.0には本体およびバンドルされたプラグインにいくつかの問題があったため、修正した4.19.3をリリース済みです。こちらをご利用ください。 https://github.com/gitbucket/gitbucket/releases/tag/4.14.3

Scalaで実装されたオープンソースのGitサーバ、GitBucket 4.19.0をリリースしました。

https://github.com/takezoe/gitbucket/releases/tag/4.19.0

Mavenリポジトリプラグインが利用可能に

GitBucket上にMavenリポジトリをホストするgitbucket-maven-repository-pluginが利用可能になりました。

f:id:takezoe:20171129183533p:plain

このプラグインをインストールすると以下の2つのMavenリポジトリが利用可能になります。

  • http(s)://GITBUCKET_HOST/maven/releases
  • http(s)://GITBUCKET_HOST/maven/snapshots

このMavenリポジトリに対してWebDAVまたはSCPでアーティファクトをアップロードすることができます。このプラグインや、具体的な設定についての詳細はプラグインREADMEを参照してください。

Scalatra 2.6へのアップデート

GitBucketはWebフレームワークとしてScalatraを使用しています。Scalatraはこの11月にメジャーアップデートである2.6がリリースされ、GitBucket 4.19.0も早速Scalatra 2.6系に移行しました。

Scalatra 2.6での大きなトピックの1つとして、これまでGitBucketのオーガニゼーションで開発していたscalatra-formsがScalatra本体のサブモジュールとして移管されたということがあります。今回のリリースではGitBucketのコードベースも移管後のものを使うように修正されていますが、これは既存のGitBucketプラグインのバイナリ互換性を壊す可能性があります。もし動作しないプラグインを見つけた場合はプラグインの作者に知らせてください。

この他に、Scala、sbt、JGitのバージョンがアップデートされています。また、日付関係の処理はJava8のDate & Time APIを使用するように修正され、joda-timeへの依存関係が削除されています。

システム設定画面のレイアウト改善

システム設定画面のレイアウトや挙動が少しだけ変更されています。その中でやや大きな変更点はスキンセレクタのプルダウンで、配置や選択項目がわかりやすい形に変更された他、スキンを選択するとその場でスキン適用後の表示を確認できるようになりました。

f:id:takezoe:20171129183547p:plain

新しい拡張ポイントの追加

新しい拡張ポイントとしてsshCommandProviderを追加しました。プラグインはこの拡張ポイントを使用してユーザからのSSHアクセスをハンドリングすることが可能です。実際に前述のgitbucket-maven-repository-pluginはこの拡張ポイントを使用してSCPでのアーティファクトのアップロードを実装しています。

なお、今回のバージョンではScalatra 2.6向けの修正が間に合わなかったため、gitbucket-pages-pluginが一時的にバンドル対象から外されています。修正完了後、将来のバージョンで再度バンドルされるようになる予定です。また、この他にも様々な改善やバグフィックスを行っています。詳細についてはIssueの一覧をご覧ください。