使用Jenkins Dashboard插件可視化部署
使用Jenkins可視化部署
插件地址:https://plugins.jenkins.io/deploy-dashboard/ 插件名稱:Deploy Dashboard by Namecheap

您是否曾經(jīng)問過自己或您的同事“開發(fā)環(huán)境中當(dāng)前部署了哪個版本?” 或“昨天將修補程序部署到生產(chǎn)了嗎?” 或“我們的客戶兩天前遇到了一個錯誤。您還記得當(dāng)時部署的版本嗎?”。
如果經(jīng)常出現(xiàn)諸如此類的問題,并且您使用Jenkins進行其CI / CD處理,那么此插件絕對適合您!
在敏捷開發(fā)領(lǐng)域,我們必須非常頻繁地更新軟件應(yīng)用程序。每個版本都應(yīng)部署到眾多環(huán)境中。最終,當(dāng)我們談?wù)搶⒛膫€版本部署到哪個環(huán)境時,情況變得一團糟。將整體部署狀態(tài)放在一個地方會很好,對嗎?
在Namecheap,我們將Jenkins用于CI/CD。因此,我們決定通過編寫一個名為Deploy Dashboard的Jenkins插件來確保始終檢查每個部署狀態(tài)。
在本文中,我將向您展示該插件的功能以及如何使用它。
使用Deploy Dashboard進行可視化
首先,我們想知道哪些代碼發(fā)布版本已部署到哪些測試和生產(chǎn)環(huán)境(或設(shè)備)。為了實現(xiàn)此目標(biāo),我們制作了一個自定義視圖,用作儀表板。
此外,可以通過單擊特定環(huán)境查看發(fā)布?xì)v史。
入門:將新版本添加到儀表板
假設(shè)您已經(jīng)有一個Jenkins作業(yè)可以構(gòu)建和部署您的應(yīng)用程序。您唯一要做的就是addDeployToDashboard使用環(huán)境名稱和應(yīng)用程序版本參數(shù)調(diào)用該方法。
- 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
- )
- }
- }
創(chuàng)建儀表板
在Jenkins主頁或文件夾上,單擊+選項卡以啟動新視圖向?qū)?如果看不到+,則可能是您無權(quán)創(chuàng)建新視圖)。
在“創(chuàng)建新視圖”頁面上,為視圖命名,然后選擇“部署視圖”類型,然后單擊“確定”。
正則表達(dá)式可用于指定要包含在視圖中的作業(yè)。(例如:“ .*”將選擇文件夾中的所有作業(yè))。
將部署按鈕添加到您的版本
在某些情況下,您希望將CI管道與CD分開保存。在這種情況下,Deploy Dashboard Plugin允許您向構(gòu)建側(cè)邊欄添加其他按鈕。您應(yīng)該只調(diào)用buildAddUrl帶有標(biāo)題和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}")
- }
- }

此功能對于質(zhì)量檢查團隊非常有用。只需單擊幾下,他們就可以將任何現(xiàn)有版本部署到其環(huán)境中。我希望它有助于改善您對Jenkins的體驗!歡迎您為GitHub中的項目做出貢獻(xiàn)。
聲明式腳本
- pipeline {
- agent any
- parameters {
- choice choices: ['dev','prod'], description: '', name: 'env'
- string defaultValue: '', description: '', name: 'version', trim: false
- }
- stages {
- stage('Hello') {
- steps {
- script {
- addDeployToDashboard(
- env: params.env,
- buildNumber: params.version
- )
- }
- }
- }
- }
- }