Вы когда-нибудь спрашивали себя или своего коллегу: «Какая версия сейчас развернута в среде разработки?» или «Привет, Джон, ты вчера развернул это исправление в рабочей среде?» или «Билл, у нашего клиента два дня назад произошла ошибка. Вы помните, какая версия была развернута в то время? ».
Если подобные вопросы возникают регулярно, и вы используете 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.