Эта статья для тех, кто хочет понять, зачем нужна автоматизация процесса разработки в общем и Jenkins в частности.
Jenkins это приложение с веб-интерфейсом, которое помогает автоматизировать рутинные задачи, возникающие в процессе разработки, например:
Сборка приложения. Преобразование человеко-понятного кода в машино-понятные файлы (имеет смысл для компилируемых языков) и упаковка в архив с указанием номера версии
Загрузка собранных артефактов в хранилище. Тут можно хранить историю версий и брать нужную для развертывания на окружениях
Проверка стиля написания кода. На соответствие принятым правилам (статическими анализаторами)
Сканирование на уязвимости. Кода и зависимостей (сторонних библиотек)
Запуск автотестов. Чтобы минимизировать вероятность появления ошибок в результате реализации нового функционала.
Оценка покрытия кода тестами. Считается, что чем больше кода покрыто тестами, тем лучше. Так можно, запустив тесты, увидеть, какие строчки кода выполнялись, а какие нет. Если не выполнялись, значит тесты их не задели, и, в теории, если там есть ошибка, то она может быть пропущена.
Развертывание приложения. Взять артефакт нужной версии из хранилища и разместить на требуемом окружении, а также сконфигурировать для работы именно на этом окружении
Jenkins имеет смысл устанавливать централизованно на отдельной машине/сервере/серверах, чтобы не занимать ресурсы персонального компьютера. Вся команда или даже целая организация может пользоваться одним и тем же Jenkins, его поддержкой, как правило, занимается отдел поддержки/системные администраторы. Но для изучения можно легко установить и на своей машине.
Все описанные выше шаги нужно делать для того, чтобы управлять качеством проекта в широком смысле. Хорошо написанный код удобнее поддерживать, а значит и быстрее наращивать новый функционал. Прогон тестов - минимизирует вероятность, что ошибки дойдут до конечного пользователя. Автоматизация нужна для ускорения и удешевления процесса, а так же для исклюючения человеческого фактора, ведь так легко забыть вовремя выполнить определенные шаги или просто полениться.
Спасибо, что заглянули,
добавляйтесь в
Telegram
канал и будьте в курсе новинок.
Если Вам было интересно, можете поддержать автора