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

您是否曾經(jīng)問(wèn)過(guò)自己或您的同事“開(kāi)發(fā)環(huán)境中當(dāng)前部署了哪個(gè)版本?” 或“昨天將修補(bǔ)程序部署到生產(chǎn)了嗎?” 或“我們的客戶(hù)兩天前遇到了一個(gè)錯(cuò)誤。您還記得當(dāng)時(shí)部署的版本嗎?”。
如果經(jīng)常出現(xiàn)諸如此類(lèi)的問(wèn)題,并且您使用Jenkins進(jìn)行其CI / CD處理,那么此插件絕對(duì)適合您!
在敏捷開(kāi)發(fā)領(lǐng)域,我們必須非常頻繁地更新軟件應(yīng)用程序。每個(gè)版本都應(yīng)部署到眾多環(huán)境中。最終,當(dāng)我們談?wù)搶⒛膫€(gè)版本部署到哪個(gè)環(huán)境時(shí),情況變得一團(tuán)糟。將整體部署狀態(tài)放在一個(gè)地方會(huì)很好,對(duì)嗎?
在Namecheap,我們將Jenkins用于CI/CD。因此,我們決定通過(guò)編寫(xiě)一個(gè)名為Deploy Dashboard的Jenkins插件來(lái)確保始終檢查每個(gè)部署狀態(tài)。
在本文中,我將向您展示該插件的功能以及如何使用它。
使用Deploy Dashboard進(jìn)行可視化
首先,我們想知道哪些代碼發(fā)布版本已部署到哪些測(cè)試和生產(chǎn)環(huán)境(或設(shè)備)。為了實(shí)現(xiàn)此目標(biāo),我們制作了一個(gè)自定義視圖,用作儀表板。

此外,可以通過(guò)單擊特定環(huán)境查看發(fā)布?xì)v史。

入門(mén):將新版本添加到儀表板
假設(shè)您已經(jīng)有一個(gè)Jenkins作業(yè)可以構(gòu)建和部署您的應(yīng)用程序。您唯一要做的就是addDeployToDashboard使用環(huán)境名稱(chēng)和應(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 dashboardaddDeployToDashboard(env: params.env,buildNumber: params.version)}}
創(chuàng)建儀表板
在Jenkins主頁(yè)或文件夾上,單擊+選項(xiàng)卡以啟動(dòng)新視圖向?qū)Вㄈ绻床坏?,則可能是您無(wú)權(quán)創(chuàng)建新視圖)。

在“創(chuàng)建新視圖”頁(yè)面上,為視圖命名,然后選擇“部署視圖”類(lèi)型,然后單擊“確定”。

正則表達(dá)式可用于指定要包含在視圖中的作業(yè)。(例如:“ .*”將選擇文件夾中的所有作業(yè))。

將部署按鈕添加到您的版本
在某些情況下,您希望將CI管道與CD分開(kāi)保存。在這種情況下,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 sidebarbuildAddUrl(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}")}}

此功能對(duì)于質(zhì)量檢查團(tuán)隊(duì)非常有用。只需單擊幾下,他們就可以將任何現(xiàn)有版本部署到其環(huán)境中。我希望它有助于改善您對(duì)Jenkins的體驗(yàn)!歡迎您為GitHub中的項(xiàng)目做出貢獻(xiàn)。
聲明式腳本
pipeline {agent anyparameters {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)}}}}}
