IntelliJとCIサービスを連携させるプラグインCIcloneを試してみた

2022.08.01

大阪オフィスの小倉です。

IntelliJからCIサービスと連携できるCIcloneというプラグインを見つけたので試してみました。
CIサービスのログ確認や通知がIDEで行えるようになります。

2022/8/9 対応テストフレームワークが追加された為追記しました

概要

プラグインの機能としては以下が挙げられています。

  • ビルド結果を通知
  • ビルドログの参照
  • 失敗したテストケースの確認(対応しているテストフレームワークである場合)
  • テストコードへのジャンプと実行

現時点で対応しているサービスは、

  • GitHub Actions
  • Jenkins
  • CircleCI

テストケースの抽出をサポートしているツールは、

  • Gradle
  • Maven
  • JUnit
  • PHPUnit
  • sbt
  • ScalaTest
  • Jest (2022/8/9追加)
  • Mocha (2022/8/9追加)
  • Vitest (2022/8/9追加)

となっています。公式サイトには上記以外のツールも対応予定も記載されています。

※いずれも記事執筆時点(2022/8/1)の情報ですが、サポート対象は随時追加されているようなので、 最新情報は公式サイトを参照してください。

やってみた

今回はGitHub Actionsとの連携を試してみました。
その他の環境は以下の通りです。

環境 バージョン
OS macOS Monterey(12.3.1)
IDE IntelliJ IDEA 2021.3 (Ultimate Edition)
Java openjdk 13 2019-09-17

今回はGradle、JUnitを使って試してみました。
筆者にJava関連ツールの知識があまりないため、実行するコードは以下リポジトリのコードを利用させていただきました。

https://github.com/junit-team/junit5-samples/tree/r5.9.0/junit5-jupiter-starter-gradle

インストール

インストール方法はIDEから、「設定」->「プラグイン」->「Marketplace」をたどり、CIcloneを見つけてインストールします。
基本有償のプラグインの様ですが、今回はインストール時にトライアル利用を選択し、インストールを行いました。

IDEにGitHubアカウントを設定済みであったため、プラグインをインストールするだけで、GitHubActions用のウィンドウが自動的に追加されました。

CD/CIの実行

GitHubにコードをPushして、GitHubActionsを実行させます。
なお、GitHubActionsワークフローは以下をそのまま利用しました。

GradleでのJavaのビルドとテスト

GitHubActionsの実行が完了すると、IDE内で完了通知を行ってくれます。

実行履歴は以下の様に表示されます。

失敗したテストがあれば、「失敗したテスト」欄で教えてくれます。

2022/8/9 追記
JavaScript系テストフレームワークの対応が追加されたので、Jestで確認してみました。
「失敗したテスト」欄で教えてくれます。

まとめ

CIサービスの通知、ログ確認までIDE内で完結できるのがありがたいと思いました。
Slack通知にするケースは多いと思いますが、そのままSlack眺めちゃうとかありがちなので。。。

サポート対象がどんどん追加されていっているようなので、これからもチェックしたいと思います。

参考資料