Sebastian-badgeとは?
Jenkinsプラグインのバージョン情報をGitHubのREADMEなどに埋め込むためのバッジをホスティングするサイトです
https://badge.fury.io/ のJenkinsプラグイン版みたいなものだと思ってもらえると。
Jenkins pluginの埋め込みバッジって?
こういうのです。
markdownやhtmlなどの形式でいい感じにコピペできます。
githubのREADME.mdに手軽に貼れます。
JenkinsプラグインはConfluenceにページ作ることになってるので、Confluence wiki形式でもコピペできるようになっています。
技術的なこと
ソース: https://github.com/sue445/sebastian-badge
- Ruby
- PostgreSQL
- Padrino Framewowk
- Heroku
- 全文検索に Groonga を利用
-
CircleCI
- GithubでPRをマージしたらCircleCIでビルドしてHerokuにデプロイする、(僕にとっては)いつもの手の込んだ手抜きデプロイです
- Deploy to Heroku ボタンに対応してるので誰でも自分のHerokuインスタンスにデプロイできます
- トピックブランチの確認するのに便利
仕様
- 1時間に1回 Jenkins Update Center をチェックして更新されたプラグインをDBに保存
- バッジはsvgで表示
- テキスト(xml)だけで画像生成できるのでお手軽。ImageMagicなどを使わなくていいのは嬉しい
- svgが大量に呼ばれてもいいようにキャッシュを頑張った
- サーバサイドはmemcached
- クライアントサイドはETagヘッダとLast-Modifiedヘッダ
どうでもいいこと
- 10年ぶりくらいにドメインとった 1
- ロゴ画像募集中です
名前の由来
JenkinsやHudsonが執事に由来しているので、ドキドキ!プリキュアに出てくる執事のセバスチャン(Sebastian)から名前をとっています。
思い出
tachikoma.ioで毎週bundle updateしていたらgemのバグを見つけた
rroonga(groongaをrubyで使うためのgem)をアップデートした時に、なぜかHerokuへのデプロイが失敗するという事象があってissueで報告した思い出
Heroku deploy is failed with rroonga v6.0.2 · Issue #130 · ranguba/rroonga
-
最後にとったのがsue445.net ↩