mkrのプラグインインストール機能を使って自分のプラグインをインストールしよう

3行まとめ。

  • mkrにプラグインインストール機能が付きました
  • jenkinsのビルド時間を監視するチェックプラグインを作って、mkrでインストールできるようにしました
  • 簡単にできるので、是非色々なプラグインを作ってみてください!!

mkrにプラグインインストール機能が付きました

mkrはMackerelをコマンドラインから手軽に操作できるツールですが、最近のリリースでなんとpluginインストールの機能が付きました。これまで独自のpluginチェック監視を入れようと思うと、以下の2つの方法がメインだったと思います。

  • (1)公式リポジトリにPull Requestを送り、レビューを経てマージされ、リポジトリに取り込まれる
    • 「やっつけで書いたけど、レビューされるならテストも書かないと...」
    • 「英語でPull Request送るの微妙にハードルが高い...」
    • と感じて、公式にPull Request送るのに躊躇していた人もいたのでは
    • しかしながら、公式に取り込まれるとapt-getyumでも手軽にインストールしてもらえるようになるというメリットは大きい
  • (2)個人のリポジトリに置いて、使いたい人の手元でビルドしてもらう
    • レビューはないので、その分気は楽
    • 自分の用途に特化したニッチなプラグインでもいける
    • しかし、apt-get installなどでは入らないので、使ってもらう側に一手間かけてもらう必要がある

mkrでのプラグインインストーラーはその間を取った方法で、以下のような特徴があります。

  • 個人のリポジトリに置いておけるので、レビューしてもらう必要はない
  • 個人のリポジトリにビルド済みの成果物を置く形式なので、使ってもらう人にビルドしてもらう必要はない
    • mkr plugin install ...で成果物をインストールしてこれる
    • 個人のリポジトリの管理者は成果物をGithub Releasesに置いておく必要はある
  • 個人のリポジトリに置いているけど広く使ってもらいたい、という場合にはプラグインレジストリに登録してもらうのがお勧めです

jenkinsのビルド時間を監視するチェックプラグインをmkrでインストールできるようにする

業務でscalaプロジェクトのビルドや成果物をまとめるのにjenkinsを使っているのですが、ときどきビルドが終わらず1日経っていた...ということがあります。1時間経ってもビルドが終わってなかったら通知してくれるようなチェック監視があれば便利だなと思って、Mackerel Plugin Hackathonのときにプラグインを書きました。ただ、公式に入れるには用途的にニッチ過ぎるやんということで、一旦closeしていました。そして、個人のリポジトリで置いとくのも面倒だなと思って放置していました...。

しかし、mkrのプラグインインストーラーができたので、リポジトリを作って再チャレンンジしました。といっても元のスクリプトはほとんど変更せず、Githubへリリースする仕組みをsampleリポジトリを参考にして追加しただけです。思ったよりお手軽。

簡単にできるので、是非色々なプラグインを作ってみてください!!

お手軽なやり方、より詳しくは公式ドキュメントを参照してください。

mkr plugin installできるいいプラグインができたら、今年のadvent calendarで是非自慢を書いてみてください!お待ちしております!

Mackerel サーバ監視[実践]入門

Mackerel サーバ監視[実践]入門

  • 作者: 井上大輔,粕谷大輔,杉山広通,田中慎司,坪内佑樹,松木雅幸
  • 出版社/メーカー: 技術評論社
  • 発売日: 2017/08/26
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログを見る