🌀CIclone で CircleCI と IntelliJ IDE を連携させるの便利!

サムライズムから CIclone (サイクロン)というプロダクトが発表された

samuraism.com

🌀CIclone?

JetBrains IDE と CI を連携させるプラグイン

有償プラグインなんだけど、リーズナブルな価格だし、サムライズムでパーソナルライセンスを契約してる場合は追加費用無しで利用できるので、とても良いー。自分はサムライズムでAll Products Packのパーソナルライセンスを契約してるのだ

JetBrains 製品の僕の紹介リンク貼っとくー。割引されるので良かったらどうぞー!そしたら僕も更新のときに割引してもらえるー

はい。ということで、CIclone が CircleCI と連携できるってことなので触ってみた!とても便利そう!

実行結果を通知してくれる

コードを push したら、それをトリガーにして CircleCI でワークフローが実行されるけど、そのワークフローの実行結果を IDE の通知で教えてくれる。push したあとにそのままコードを書いてたら通知がくるので、とても便利

ワークフローの実行結果を見ることができる

通知を受け取った後にも、そのまま IDE の中で、成功・失敗や、実行されたジョブ一覧、そのログまで確認できる。便利

失敗したテストにジャンプすることができる

テストに失敗した場合は、ソースコード上のテストケースにジャンプすることができる。便利

さらに、そこからローカルのテストを実行することもできる。便利

CircleCI の画面にジャンプできる

CircleCI の画面を確認したい場合も、できる。ワークフローやジョブを選択して、↓のボタンを押すと開く。便利

例えば CircleCI のこの画面が開く

パイプラインを実行できる

実行ボタンから、どのブランチで実行するかを指定して、パイプラインを実行できる。便利

ワークフローを再実行できる

実行済みのワークフローを選択すると、再実行ボタンからワークフローを再実行できる。便利

とても便利そう!

はい。ということで IDE の中で CircleCI の通知を受け取ったり、ログを確認したり、再実行したりと、コードを書きながらアプリを切り替えずに色々できるので、とても便利そう!

現時点だと、IDEA を再起動すると CIclone の CircleCI の設定がリセットされてしまう問題があるみたいなのでフィードバックしておこうと思います。それが修正されたらしばらく使ってみる! -> (2022-08-09 更新) 今日修正版がリリースされました!やったー!

いま、Java のプロジェクトを持ってないんだけど、Clojure とか JavaScript のプロジェクトで試してみようかな。まだサポートされていない言語の場合は、コードへのジャンプや UT の実行はできないと思うけど、CI の結果を見たり、通知を受け取ったりすることはできるんじゃないかな?と思うので、それだけでも便利そうーという予感

以下、今回のプロジェクト設定のメモ

hello-ciclone プロジェクトを準備

Spring Initializr で適当に Maven のプロジェクトを作った。ひさしぶりの Java だー

簡単な config.yml を書いて

version: 2.1

jobs:
  build-and-test:
    docker:
      - image: cimg/openjdk:17.0.3
    steps:
      - checkout
      - run:
          name: Build
          command: mvn -B -DskipTests clean package
      - run:
          name: Test
          command: mvn test

workflows:
  sample:
    jobs:
      - build-and-test

CircleCI のプロジェクト一覧から「Set Up Project」ボタンを押して

main ブランチの config.yml でポチッと

そしたら、コミットを push するたびに UT が実行されるようになる

んで、成功するテストと失敗するテストをちょこっと書いといた

これで準備は OK

IDEA の設定

次は、IDEA の設定。↓の作業の前に、サムライズムにライセンスを発行してもらってアクティベートしておいた。30日間のお試し期間があるから、ちょっと触ってみたいなって場合はライセンスなくても大丈夫だと思う

プラグインをインストール。Preferences > Plugins > Marketplace で ciclone って入力したら出てくるのでインストール

IDEA を再起動するように言われるので再起動したら次は CircleCI との連携の設定。Preferences > Tools > CircleCI を開いて

最初にトークンを取得したいので、"Get Token" のリンクから CircleCI のトークン生成画面を開いて

Create New Token で適当な名前をつけてトークンを生成してコピー。それをさっきの画面に貼り付けて "Import from existing project" ボタンをクリック。すると CircleCI のプロジェクト一覧が表示される

さっき作ったプロジェクトを選択するとこうなる。Max Pipeline Size は、取得するパイプラインの履歴の数みたい。デフォルトは5個だけ履歴に表示されるようになってる

"Test" を押して確認

つながったー!ヽ(=´▽`=)ノ

CIclone の View

設定が終わったら画面下の方のタブに CircleCI が出てくるので、左側の更新マークを押すと最新のパイプラインの情報が表示される

あとは、前半で書いたとおりの動きを確認することができる!