Какова лучшая практика для развития CI? - PullRequest
0 голосов
/ 01 апреля 2019

Мы начинаем разрабатывать CI рабочий процесс для наших систем в моей компании.

В настоящее время мы просто выполняем несколько основных задач, таких как сборка, тестирование и загрузка в Nexus.

Технический стек - это проект Java, сборка которого Gradle, а Jenkins делает нашу сборку.

В настоящее время я работаю с базовым Groovy сценарием, чтобы создать то, что нам нужно, но каждый раз я копирую и вставляю свой обновленный код в Jenkins и запускаю задание из Jenkins UI, чтобы увидеть результаты. и мне кажется, это не очень хороший подход для разработки такого кода автоматизации.

У меня такой вопрос, как лучше всего создавать и запускать Jenkins заданий?

  • Можно ли запустить его прямо с Intellij?
  • Нужно ли нам создавать Jenkins проект, который нужно сохранить как репозиторий, а затем развернуть его на Jenkins машине?
  • Нужно ли использовать Intellij плагинов для работы с Jenkins?

Приветствуется больше лучших практик :) 1032 *

1 Ответ

0 голосов
/ 01 апреля 2019

У Jenkins есть API - так что вы можете делать все, что захотите!

Но в целом, для небольших и средних команд лучше использовать Jenkinsfile и позволить Jenkins выполнять изменения кода (илиpull-запросы) от SCM и триггерные сборки.Вы также можете настроить перехватчики для запуска сборок, если ваш SCM поддерживает это (Github & bitbucket поддерживает это).

Если вы в конечном итоге отправляете свои артефакты в образ докера, я настоятельно рекомендую docker multi-stagebuilds .

Если вы совершенно новичок в CI / CD - у Atlassian много хороших ресурсов https://www.atlassian.com/continuous-delivery/principles/continuous-integration-vs-delivery-vs-deployment

...