Компания Samuraism Inc. анонсировала новый продукт: плагин для JetBrains IDEs под названием CIclone [sάɪkloʊn].
https://samuraism.com/products/ciclone (Ja)
🌀CIclone?
🌀CIclone обеспечивает бесшовную интеграцию JetBrains IDEs с несколькими сервисами CI, такими как Jenkins, GitHub Actions и CircleCI. Это платный плагин, но его цена вполне приемлема. Кроме того, он доступен без дополнительной платы, если у нас есть персональная лицензия. (а у меня она есть :D)
Я проверил интеграцию плагина с CircleCI, потому что мне нравится CircleCI и я работаю в CircleCI в качестве инженера (๑-̀ㅂ-́)و✧.
Плагин кажется очень хорошим!
Уведомление о результатах выполнения
Когда мы вносим изменения в код, CircleCI запускает конвейер. Затем, 🌀CIclone сообщает нам результат в уведомлении IDE. Нам не нужно переключаться на другие приложения, но мы можем продолжать кодить в IDE после толчка и знать результат выполнения. приятно
Просмотр результатов выполнения рабочего процесса
Даже после получения уведомлений мы можем оставаться в IDE и проверять статус выполнения (успех/неудача), список заданий и даже журналы выполнения. nice
Переход к неудачным тестам
Если некоторые тесты не прошли, мы можем перейти к тестовым примерам в исходном коде. nice
Кроме того, оттуда мы можем запускать модульные тесты в IDE.
Переход на страницу CircleCI
Также можно перейти на страницу CircleCI из IDE. Мы просто выбираем рабочие процессы или задания в представлении и нажимаем следующую кнопку, после чего в браузере открывается сайт CircleCI. nice
Например, мы можем увидеть страницу следующим образом:
Запуск конвейера
Мы можем запустить конвейер, нажав на кнопку выполнения и указав ветку. nice
Повторный запуск рабочего процесса
Выбрав выполненный рабочий процесс, мы можем повторно запустить его с помощью кнопки повторного запуска. nice
Это выглядит очень здорово!
С 🌀CIclone теперь я могу получать уведомления CircleCI в IDE, проверять логи, перезапускать и т.д., не переключая приложения во время написания кода, что кажется очень удобным!
Сейчас у меня нет проектов на Java, но я могу попробовать это с проектом на Clojure или JavaScript. Если язык еще не поддерживается 🌀CIclone, я не думаю, что можно перейти к коду или выполнить UT, но все же можно видеть результаты CI и получать уведомления. Я чувствую, что это было бы очень полезно!
Ниже приведены заметки по настройке этого проекта
Создайте пример проекта: hello-ciclone
Я создал Maven-проект с Spring Initializr. Давненько я не использовал Java!
- https://github.com/bufferings/hello-ciclone
Затем я написал простой 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
Нажал «Set Up Project» в списке проектов CircleCI:
выбрал config.yml в основной ветке:
После этого он автоматически выполняет UT, когда я проталкиваю код
- https://app.circleci.com/pipelines/github/bufferings/hello-ciclone
Я добавил несколько тестов, и некоторые из них прошли успешно, а некоторые — неудачно.
Подготовка проекта завершена.
Конфигурация IDEA
Далее следует конфигурация IDEA. Сначала я получил лицензию от Samuraism, затем активировал ее. Но я думаю, что мы можем попробовать ее без лицензии в течение 30 дней пробного периода.
Установите плагин. Preferences > Plugins > Marketplace и введите «ciclone», чтобы найти плагин и установить его.
После перезагрузки IDEA нужно было настроить интеграцию с CircleCI, Preferences > Tools > CircleCI.
Я хотел получить новый токен от CircleCI, поэтому я нажал на ссылку «Get Token», чтобы открыть страницу CircleCI для генерации токена:
«Create New Token», чтобы сгенерировать новый токен с некоторым именем, и скопировал значение. Затем вставил его на страницу конфигурации IDEA и нажал «Import from existing project». Я увидел список моих проектов CircleCI:
Выбрал проект, который я только что создал, и он стал таким. «Max Pipeline Size» — это, по-видимому, количество истории, которое нужно извлечь из трубопровода. По умолчанию это пять, и я думаю, что это подходит для меня на данный момент.
Нажал «Test».
Работает! ヽ(=´▽`=)ノ
🌀CIclone View
Когда мы закончили настройку, мы можем увидеть вкладку CircleCI внизу, поэтому выбираем ее и нажимаем кнопку синхронизации в левой верхней части представления, чтобы получить последние результаты конвейера:
Теперь мы можем использовать его, как я писал в первой половине этой статьи!