Вы когда-нибудь спрашивали себя или своего коллегу: «Какая версия сейчас развернута в среде разработки?» или «Привет, Джон, ты вчера развернул это исправление в рабочей среде?» или «Билл, у нашего клиента два дня назад произошла ошибка. Вы помните, какая версия была развернута в то время? ».
Если подобные вопросы возникают регулярно, и вы используете Jenkins для их процесса CI / CD, этот плагин определенно для вас!
В мире гибкой разработки нам приходится очень часто обновлять наши программные приложения. Каждую версию следует развертывать в различных средах. В конце концов, когда мы говорим о том, какая версия развернута в какой среде, возникает беспорядок. Было бы неплохо иметь общий статус развертывания в одном месте, не так ли?
В Namecheap мы используем Jenkins для процессов CI \ CD. Поэтому мы решили убедиться, что всегда можем проверять каждый статус развертывания, написав плагин Jenkins под названием Deploy Dashboard.
В этой статье я покажу вам возможности плагина и способы его использования.
Визуализация с помощью Deploy Dashboard
Прежде всего, мы хотели узнать, какие версии выпуска кода были развернуты в каких тестовых и производственных средах (или устройствах). Для достижения этой цели мы создали настраиваемое представление, которое используется в качестве панели мониторинга.
Более того, можно посмотреть историю выпусков, щелкнув определенную среду.
Начало работы: добавление новой версии на панель инструментов
Предположим, у вас уже есть задание Jenkins, которое создает и развертывает ваше приложение. Единственное, что вам нужно сделать, это вызвать метод addDeployToDashboard
с именем среды и параметрами версии приложения.
properties([parameters([ string(name: 'version', description: 'App version to deploy'), choice( name: 'env', choices: ['dev', 'prod'], description: 'Environment where the app should be deployed' ) ])]) node { //... stage("Deploy") { // Deploy app version ${params.version} to ${params.env} env //add release information to the dashboard addDeployToDashboard( env: params.env, buildNumber: params.version ) } }
Создать информационную панель
На главной странице или в папке Jenkins нажмите вкладку +, чтобы запустить мастер нового представления (если вы не видите +, скорее всего, у вас нет разрешения на создание нового представления).
На странице «Создать новое представление» дайте вашему представлению имя, выберите тип «Представление развертывания» и нажмите «ОК».
Регулярное выражение можно использовать для указания заданий, которые нужно включить в представление. (например: «.*
» выберет все задания в папке).
Добавьте кнопки развертывания в вашу сборку
Бывают случаи, когда вы хотите сохранить конвейер CI отдельно от конвейера CD. В этом случае плагин Deploy Dashboard позволяет добавлять дополнительные кнопки на боковую панель сборки. Вам нужно просто вызвать buildAddUrl
метод с заголовком и URL-адресом.
node { stage("Build") { String builtVersion = "v2.7.5" // Build app with ${builtVersion} version //Add buttons to the left sidebar buildAddUrl(title: 'Deploy to DEV', url: "/job/app-deploy/parambuild/?env=dev&version=${builtVersion}") buildAddUrl(title: 'Deploy to PROD', url: "/job/app-deploy/parambuild/?env=prod&version=${builtVersion}") } }
Эта функция может быть чрезвычайно полезна для команды QA. Они смогут развернуть любую существующую версию в своей среде всего за несколько кликов.
Я надеюсь, что это поможет вам улучшить ваш опыт работы с Дженкинсом! Приглашаем вас внести свой вклад в проект на GitHub.