一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一文掌握Jenkins自動化部署

馬哥Linux運維 ? 來源:CSDN技術(shù)社區(qū) ? 2025-04-23 10:50 ? 次閱讀

掌握Jenkins自動化部署:從代碼提交到自動上線的全流程揭秘

Jenkins自動化部署是現(xiàn)代軟件開發(fā)中不可或缺的一部分,它不僅簡化了代碼的發(fā)布過程,還為整個團隊帶來了無與倫比的效率和協(xié)作力。想象一下,開發(fā)者們可以專注于編寫高質(zhì)量的代碼,而不是為繁瑣的手動部署所煩惱;測試人員能在每次提交代碼后立即看到測試結(jié)果,確保軟件質(zhì)量;運營團隊不再需要熬夜加班來手動發(fā)布新版本,而是可以安心地看到系統(tǒng)自動完成一切。

Jenkins自動化部署的意義在于它賦予了開發(fā)團隊一種近乎魔法般的力量,將復(fù)雜、易出錯的手動操作變?yōu)楹唵巍⒏咝У牧魉€流程。通過CI/CD(持續(xù)集成/持續(xù)部署),每一次代碼的提交都能觸發(fā)自動化的構(gòu)建、測試和部署,確保每一個版本的上線都是經(jīng)過嚴格測試和驗證的。這種無縫的工作流不僅提高了開發(fā)速度,還顯著降低了風(fēng)險,讓軟件的發(fā)布更為可靠。

可以說,Jenkins自動化部署不僅是技術(shù)上的進步,更是一種開發(fā)理念的革新。它讓軟件開發(fā)變得更高效、更可靠、更具創(chuàng)新力。只要你體驗過Jenkins帶來的便利,你就再也不會回到手動部署的時代,因為那種“代碼一提交,系統(tǒng)自己搞定”的感覺,實在是太讓人欲罷不能了!

這就是Jenkins的力量,它不僅改變了開發(fā)的方式,也改變了我們對軟件開發(fā)的認知。如果你還沒嘗試過Jenkins,現(xiàn)在就是最好的時機,去體驗一下現(xiàn)代開發(fā)的魅力吧!

1.Jenkins工作流程

當你提交代碼后,Jenkins能夠自動觸發(fā)部署的背后,是一整套自動化構(gòu)建和交付的流水線(Pipeline)在起作用。這里我將詳細介紹Jenkins的工作流程和內(nèi)部原理,包括它如何監(jiān)控代碼庫的變化、觸發(fā)構(gòu)建、執(zhí)行測試、打包以及最終部署到服務(wù)器的過程。

1.源代碼管理(SCM)輪詢或Webhooks觸發(fā)

?SCM輪詢:Jenkins會定期檢查(輪詢)配置的源代碼管理系統(tǒng)(如Git、SVN等)的倉庫,看是否有新的提交或代碼更改。如果檢測到變化,就會觸發(fā)構(gòu)建任務(wù)。這種方法需要Jenkins定時訪問代碼庫,可能會有一定的延遲。

?Webhooks:相比之下,Webhooks是一種更為實時的觸發(fā)方式。開發(fā)者提交代碼后,源代碼管理系統(tǒng)會立即向Jenkins發(fā)送一個HTTP請求(Webhook),通知Jenkins有新提交。這使得Jenkins能夠更快響應(yīng)代碼變化,立即啟動構(gòu)建過程。

2.觸發(fā)構(gòu)建任務(wù)

一旦Jenkins接收到代碼變更的通知,它會根據(jù)配置的Pipeline或Job來決定如何處理這次構(gòu)建。Jenkins中的Pipeline是基于Groovy腳本的,它定義了從代碼提交到最終部署的整個流程。

3.流水線(Pipeline)階段

Pipeline分為多個階段,每個階段都可以獨立執(zhí)行一組任務(wù)。這些階段通常包括:

?Checkout代碼:Jenkins從源代碼管理系統(tǒng)中將最新的代碼拉取到構(gòu)建節(jié)點上。這一步通常使用插件(如Git插件)來與代碼庫交互。

?構(gòu)建(Build):Jenkins根據(jù)配置的構(gòu)建工具(如Maven、Gradle)對代碼進行編譯、打包。在這一步,代碼會被轉(zhuǎn)化為可執(zhí)行的應(yīng)用程序包(如JAR、WAR文件)或Docker鏡像。

?測試(Test):Jenkins會運行自動化測試腳本,包括單元測試、集成測試、功能測試等。這一步至關(guān)重要,因為它確保代碼在引入新變更后仍然是穩(wěn)定和可靠的。

?代碼質(zhì)量分析(Optional):Jenkins可以執(zhí)行代碼質(zhì)量檢查,使用工具如SonarQube來分析代碼的復(fù)雜度、安全性和可維護性,并生成報告。

?部署(Deploy):當所有前面的步驟都成功完成后,Jenkins會執(zhí)行部署階段。根據(jù)配置,它可以將構(gòu)建產(chǎn)物部署到不同的環(huán)境,如開發(fā)環(huán)境、測試環(huán)境或生產(chǎn)環(huán)境。這一步可以通過SSH、FTP、容器化部署(Docker、Kubernetes)或云服務(wù)API來實現(xiàn)。

4.工作節(jié)點(Agent)與主節(jié)點(Master)協(xié)作

Jenkins采用主從架構(gòu),其中主節(jié)點(Master)負責調(diào)度任務(wù)、管理工作隊列、監(jiān)控節(jié)點狀態(tài)等。工作節(jié)點(Agent)實際執(zhí)行構(gòu)建任務(wù),如代碼編譯、測試和部署等。

當Pipeline被觸發(fā)時,Jenkins主節(jié)點會分配一個或多個工作節(jié)點來執(zhí)行具體任務(wù)。工作節(jié)點從主節(jié)點獲取任務(wù)后,開始執(zhí)行相應(yīng)的步驟,完成后將結(jié)果返回給主節(jié)點。

5.Jenkinsfile(流水線腳本)

Jenkinsfile是定義Pipeline的腳本文件,通常存儲在代碼庫中。這使得整個構(gòu)建、測試和部署的流程代碼化,并與項目代碼一起版本控制。在Jenkinsfile中,你可以定義Pipeline的各個階段、條件邏輯、并行任務(wù)等。

6.通知與反饋

Jenkins在構(gòu)建和部署過程中會生成實時的日志,并在任務(wù)完成后發(fā)送通知(如通過電子郵件、Slack)。如果構(gòu)建失敗,Jenkins會立即通知相關(guān)人員,以便他們能夠快速響應(yīng)和修復(fù)問題。

7.持續(xù)集成與持續(xù)交付/部署(CI/CD)

整個流程的核心思想是CI/CD,通過持續(xù)集成和交付,讓開發(fā)團隊能夠頻繁地提交代碼,并自動化測試、構(gòu)建和部署,減少人為錯誤,提升軟件發(fā)布的效率和質(zhì)量。

可以通過一張圖來直觀展示Jenkins在整個流程中扮演的角色,具體如下所示:該圖主要對比了人工部署與Jenkins自動化部署的過程。

beabbb40-1e9d-11f0-9310-92fbcf53809c.png

在這里插入圖片描述

Jenkins的工作流程是通過SCM輪詢或Webhooks來實時監(jiān)控代碼變化,使用Pipeline將構(gòu)建、測試、打包、部署等步驟串聯(lián)起來,自動化地將應(yīng)用程序從開發(fā)環(huán)境推送到生產(chǎn)環(huán)境。其主從架構(gòu)、可配置的Pipeline、廣泛的插件支持,使得Jenkins成為了自動化部署的強大工具,讓整個軟件開發(fā)生命周期變得更加高效和可靠。

下面,讓我們一起踏入使用Jenkins自動部署Spring Boot項目的奇妙之旅!

2.搭建Jenkins

1.創(chuàng)建一個數(shù)據(jù)目錄

# 創(chuàng)建 jenkins 目錄
mkdir/data/jenkins_home/
# 修改目錄的所有者,以便于 Jenkins 容器能夠操作該目錄
chown-R 1000:1000 /data/jenkins_home/





2.拉取jenkins鏡像

docker pull jenkins/jenkins:lts





3.啟動jenkins容器

為了防止與 Spring Boot 默認使用的 8080 端口發(fā)生沖突,我選擇將 Jenkins 服務(wù)器的訪問端口配置為 8088。此外,在確保 Jenkins 可以從外部網(wǎng)絡(luò)訪問的同時,也需要在云服務(wù)器的安全組中配置防火墻規(guī)則來開放 8088 端口,這樣外部客戶端才能通過此端口訪問到 Jenkins 服務(wù)器。

docker run -d --name jenkins -p 8088:8080 -p 50000:50000 -v /data/jenkins_home:/var/jenkins_home jenkins/jenkins:lts





這樣的配置不僅能夠確保 Jenkins 服務(wù)與其他可能運行在同一服務(wù)器上的服務(wù)(如 Spring Boot 應(yīng)用)之間不會產(chǎn)生端口沖突,還能通過精細控制防火墻規(guī)則來提高系統(tǒng)的安全性。
在云服務(wù)器的安全組設(shè)置中,你需要添加一條入站規(guī)則,允許來自特定 IP 地址或 IP 范圍的流量通過 8088 端口進入服務(wù)器。這樣既能保證 Jenkins 的可用性,也能限制不必要的網(wǎng)絡(luò)訪問,從而提升整體安全性。

4.訪問Jenkins

一旦Jenkins容器啟動,你可以通過訪問http://localhost:8088來訪問Jenkins界面。(注意:這里的localhost對應(yīng)的你的云服務(wù)器IP地址?。?/p>

首次訪問時,系統(tǒng)會要求你輸入初始管理員密碼。

bec95268-1e9d-11f0-9310-92fbcf53809c.png

在這里插入圖片描述

5.獲取管理員密碼

可以直接去宿主機的 /data/jenkins_home/secrets/initialAdminPassword 位置查看初始化密碼,具體如下所示:(這里的/data/jenkins_home/是前面你自己設(shè)置的Jenkins工作目錄)。

bee84b46-1e9d-11f0-9310-92fbcf53809c.png

在這里插入圖片描述
獲取管理員密碼之后就可以直接使用admin賬戶進行登錄,登錄之后的界面如下所示:

befd4640-1e9d-11f0-9310-92fbcf53809c.png

在這里插入圖片描述

3.安裝Maven

在Jenkins自動化部署中,Maven被安裝在服務(wù)器上是為了執(zhí)行項目的構(gòu)建任務(wù),包括代碼編譯、依賴管理、測試執(zhí)行和打包操作。通過Maven,Jenkins能夠自動化地將源代碼轉(zhuǎn)換為可部署的應(yīng)用程序包(如JAR或WAR文件),確保項目按需構(gòu)建并滿足所有依賴。

1.下載Maven
訪問Maven官方下載頁面,選擇需要的版本,復(fù)制下載鏈接。使用wget命令下載Maven。例如下載Maven 3.8.8版本:

wget https://dlcdn.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz





2.解壓文件
將下載的文件解壓到你想要安裝的位置,例如/opt目錄:

sudotar -zxvf apache-maven-3.8.8-bin.tar.gz -C /opt





3.配置環(huán)境變量
為了方便使用Maven,需要配置環(huán)境變量。編輯/etc/profile文件:

sudovi /etc/profile





在文件末尾添加以下內(nèi)容:
exportM2_HOME=/opt/apache-maven-3.8.8
exportPATH=$M2_HOME/bin:$PATH





4.使環(huán)境變量生效
保存文件并退出編輯器,然后使環(huán)境變量生效:

source/etc/profile





5.驗證安裝
現(xiàn)在可以通過以下命令驗證Maven是否安裝成功:

mvn -version





如果安裝成功,你將看到Maven的版本信息。

bf147432-1e9d-11f0-9310-92fbcf53809c.png

在這里插入圖片描述

4.安裝插件

在Jenkins啟動成功后,安裝以下三個插件能夠增強其功能,滿足特定的項目需求:

1.Gitee

?功能:Gitee插件允許Jenkins與Gitee代碼倉庫集成,支持從Gitee倉庫中拉取代碼、觸發(fā)構(gòu)建任務(wù)。這對于使用Gitee進行源代碼管理的團隊非常有用,能簡化CI/CD流程。

?安裝:在“插件管理”界面,搜索“Gitee”插件并安裝。安裝后,可以在Jenkins的項目配置中添加Gitee倉庫的訪問信息,配置Webhook以便代碼提交時自動觸發(fā)構(gòu)建。

2.Maven Integration

?功能:Maven Integration插件允許Jenkins與Maven無縫集成,使得Jenkins可以直接調(diào)用Maven進行項目的構(gòu)建、測試和打包。這對于Java項目尤其重要,因為Maven能夠自動管理項目依賴、編譯代碼,并生成可部署的包(如JAR、WAR)。

?安裝:在Jenkins管理界面中,導(dǎo)航到“插件管理” -> “可選插件”,搜索“Maven Integration”并點擊“安裝”。

3.Publish Over SSH

?功能:Publish Over SSH插件允許Jenkins通過SSH將構(gòu)建生成的文件(如JAR、WAR包)安全地傳輸?shù)竭h程服務(wù)器上。這對于部署過程至關(guān)重要,尤其是當需要將構(gòu)建產(chǎn)物自動部署到生產(chǎn)或測試服務(wù)器時。

?安裝:同樣在“插件管理”界面,搜索“Publish Over SSH”并安裝。安裝后,你可以在“系統(tǒng)管理”中配置SSH服務(wù)器的連接信息。

通過安裝這些插件,Jenkins能夠更好地支持項目構(gòu)建、打包、部署和代碼管理,大大提高自動化部署的效率和靈活性。

具體的安裝步驟如下所示:點擊左邊的系統(tǒng)管理,然后選擇右邊的插件管理,進行配置。

bf2c5214-1e9d-11f0-9310-92fbcf53809c.png

在這里插入圖片描述
之后在可選插件中,搜索 Maven Integration 和 Publish Over SSH 以及 Gitee 三個插件安裝即可:

bf446548-1e9d-11f0-9310-92fbcf53809c.png

在這里插入圖片描述

全部插件安裝完成之后,最好登錄服務(wù)器,重啟Jenkins容器以更新插件!具體命令如下:

docker restart jenkins





5.全局工具配置

在使用Jenkins進行自動化部署之前,進行一些全局工具的配置是必要的,這樣可以確保Jenkins能夠正確調(diào)用這些工具來完成構(gòu)建、測試和部署任務(wù)。

bf60dd22-1e9d-11f0-9310-92fbcf53809c.png

在這里插入圖片描述

以下是Jenkins通常需要配置的全局工具:

1.JDK(Java Development Kit)

?為什么需要:Jenkins本身是基于Java的應(yīng)用,并且許多構(gòu)建工具(如Maven、Gradle)也依賴JDK。因此,配置JDK是必不可少的。

?配置方法:在Jenkins的“系統(tǒng)管理” -> “全局工具配置”中,找到JDK配置部分,點擊“添加JDK”,指定JDK的安裝路徑,或者選擇自動安裝。

2.Maven

?為什么需要:Maven是Java項目構(gòu)建的標準工具,用于依賴管理、代碼編譯、測試和打包。通過配置Maven,Jenkins可以調(diào)用Maven進行項目構(gòu)建。

?配置方法:在“全局工具配置”中找到Maven配置部分,點擊“添加Maven”,指定Maven的安裝路徑,或者選擇自動安裝。

bf7ceda0-1e9d-11f0-9310-92fbcf53809c.png

在這里插入圖片描述

3.Git

?為什么需要:大多數(shù)項目都使用Git進行源代碼管理。通過配置Git,Jenkins可以從Git倉庫中拉取代碼并進行構(gòu)建。

?配置方法:在“全局工具配置”中找到Git配置部分,添加Git安裝路徑,或者選擇自動安裝。確保Jenkins可以訪問正確版本的Git(由于 Jenkins 容器中已經(jīng)存在 git 了,所以這里不需要額外安裝 git,默認即可)。

bf8e69a4-1e9d-11f0-9310-92fbcf53809c.png

在這里插入圖片描述

4.Gradle(可選)

?為什么需要:對于使用Gradle構(gòu)建的項目,配置Gradle工具是必要的。Gradle是另一個流行的構(gòu)建工具,尤其在Android開發(fā)中被廣泛使用。

?配置方法:在“全局工具配置”中,找到Gradle配置部分,點擊“添加Gradle”,指定Gradle的安裝路徑或選擇自動安裝。

全局工具配置是確保Jenkins能夠順利執(zhí)行構(gòu)建、測試和部署任務(wù)的基礎(chǔ)。通過配置JDK、Maven、Git等工具,Jenkins可以與這些構(gòu)建工具無縫集成,自動化地完成從代碼拉取到部署的整個流程。這些配置不僅提高了Jenkins的靈活性和適用性,還簡化了每個項目的具體配置工作。

6.系統(tǒng)配置

在Jenkins中進行系統(tǒng)配置時,Publish Over SSH和Gitee的配置是實現(xiàn)代碼部署和與代碼倉庫集成的關(guān)鍵步驟。以下是詳細的配置步驟介紹:

1.Publish Over SSH 配置

Publish Over SSH插件允許Jenkins通過SSH將構(gòu)建生成的文件(如JAR、WAR包)安全地傳輸?shù)竭h程服務(wù)器上。以下是配置步驟:

步驟 1: 安裝 Publish Over SSH 插件

? 如果前面已經(jīng)安裝請忽略步驟1

? 登錄Jenkins的管理界面。

? 在Jenkins首頁,點擊左側(cè)菜單中的“系統(tǒng)管理”或“Manage Jenkins”。

? 在管理頁面中,選擇“插件管理”或“Manage Plugins”。

? 在“可選插件”或“Available Plugins”選項卡中,搜索Publish Over SSH。

? 勾選插件并點擊“安裝”,等待插件安裝完成。

步驟 2: 配置 SSH 服務(wù)器

? 插件安裝完成后,返回“系統(tǒng)管理”頁面,選擇“系統(tǒng)配置”或“Configure System”。

? 向下滾動頁面,找到Publish Over SSH部分。

? 點擊“添加”按鈕,配置一個新的SSH服務(wù)器:

?Name: 為服務(wù)器配置一個易記的名稱。

?Hostname: 輸入目標服務(wù)器的IP地址或主機名。

?Username: 輸入用于登錄到目標服務(wù)器的用戶名。

?Remote Directory: 指定在遠程服務(wù)器上的默認目錄,Jenkins將把構(gòu)建產(chǎn)物傳輸?shù)酱四夸洝?/p>

?Use password authentication, or use a different key: 選擇是使用密碼認證,還是提供私鑰文件進行認證。

? 如果使用密鑰認證,配置私鑰文件路徑或直接粘貼私鑰內(nèi)容。

? 點擊“測試配置”或“Test Configuration”按鈕,驗證Jenkins是否能夠成功連接到目標服務(wù)器。

bfa03b34-1e9d-11f0-9310-92fbcf53809c.png

在這里插入圖片描述

步驟 3: 保存配置

? 配置完成后,點擊頁面底部的“保存”或“應(yīng)用”按鈕,以確保你的設(shè)置被保存。

2.Gitee 配置

通過配置Gitee,Jenkins能夠與Gitee代碼倉庫集成,實現(xiàn)代碼的自動拉取和構(gòu)建。以下是配置步驟:

步驟 1: 安裝 Gitee 插件

? 同樣在Jenkins的插件管理中,搜索Gitee并安裝該插件。

步驟 2: 獲取 Gitee API Token

? 登錄到Gitee賬戶,點擊鏈接。

? 在“私人令牌”部分,點擊“生成新的令牌”。

? 根據(jù)需要選擇令牌的權(quán)限,例如“repo”(代碼倉庫相關(guān)操作)和“user_info”(用戶信息查看)。

? 生成令牌后,復(fù)制并保存。

bfb37aa0-1e9d-11f0-9310-92fbcf53809c.png

在這里插入圖片描述

步驟 3: 添加 Gitee配置

? 在“系統(tǒng)配置”頁面,找到Gitee 配置。

? 配置你的Gitee倉庫信息:

?鏈接名: 輸入你的Gitee倉庫的URL(HTTPS)。

?Gitee域名URL: 輸入Gitee域名完整URL地址。

?證書令牌: 選擇Gitee API令牌。

bfc9049c-1e9d-11f0-9310-92fbcf53809c.png

在這里插入圖片描述

步驟 4: 添加憑據(jù)

? 在Gitee配置頁面 -> 點擊添加Jenkins。

? 在彈出的對話框中選擇“Gitee API令牌”,在“Gitee APIV5私人令牌”字段中粘貼你剛剛生成的API Token。

? 為該憑據(jù)提供一個名稱,并點擊“添加”保存。

bfe2b4dc-1e9d-11f0-9310-92fbcf53809c.png

在這里插入圖片描述
通過上述步驟,就已經(jīng)在Jenkins中完成了Publish Over SSH和Gitee的配置。這些配置使得Jenkins能夠安全地將構(gòu)建產(chǎn)物部署到遠程服務(wù)器,同時自動拉取和構(gòu)建Gitee上的代碼,為CI/CD流程提供了基礎(chǔ)支持。

7.構(gòu)建項目

在Jenkins中新建一個Maven項目的步驟如下:

1.登錄Jenkins控制臺

首先,訪問Jenkins的Web界面,使用你的管理員賬戶登錄。

2.新建項目

? 在Jenkins首頁,點擊左側(cè)菜單中的“新建任務(wù)”或“New Item”。

? 在彈出的窗口中,為項目輸入一個名稱,然后選擇“構(gòu)建一個Maven項目”或“Maven Project”。

? 點擊“確定”進入項目配置頁面。

3.配置源碼管理(Source Code Management, SCM)

? 在項目配置頁面,找到“源碼管理”部分。

? 選擇你使用的版本控制系統(tǒng)(如Git),并輸入項目的代碼倉庫URL。

? 如果倉庫需要認證,配置相應(yīng)的憑證(Credentials),如用戶名和密碼或SSH密鑰。

? 設(shè)置倉庫中觸發(fā)構(gòu)建的分支代碼(*/release表示release分支有代碼提交則自動觸發(fā)構(gòu)建)。

bffab302-1e9d-11f0-9310-92fbcf53809c.png

在這里插入圖片描述

4.構(gòu)建觸發(fā)器

? 配置構(gòu)建觸發(fā)器,這可以是輪詢SCM(Poll SCM)、Webhook觸發(fā)、定時構(gòu)建等。

? 例如,如果你希望在每次代碼提交時觸發(fā)構(gòu)建,可以選擇“GitHub hook trigger for GITScm polling”或“Poll SCM”,并設(shè)置合適的時間間隔。

c00c3186-1e9d-11f0-9310-92fbcf53809c.png

在這里插入圖片描述

5.Gitee中配置WebHook

在Gitee中配置WebHook時,首先進入倉庫的“管理”頁面,選擇“Webhooks”并添加新WebHook。在請求URL中輸入Jenkins的WebHook地址(如),選擇觸發(fā)事件(如推送事件),然后保存配置。這樣,每當代碼提交時,Gitee將自動通知Jenkins觸發(fā)相應(yīng)的構(gòu)建任務(wù)。

c023d444-1e9d-11f0-9310-92fbcf53809c.png

在這里插入圖片描述
上圖中所需的URL將在設(shè)置Jenkins的Webhook觸發(fā)器時指定,這個URL用于接收外部觸發(fā)信號以啟動構(gòu)建流程。由于 Jenkins 是要登錄之后才可以操作的,處于公網(wǎng)的 Jenkins 我們也不能降至設(shè)置為匿名訪問,所以這里我們將 Jenkins 的用戶名密碼放在請求地址中,最終地址類似這樣:http://username:password@IP:8088/xxxx。**而Jenkins系統(tǒng)中生成的URL是不包含用戶名和密碼的,需要你自己手動添加!**
此外,為了安全起見,Jenkins系統(tǒng)會自動生成一個密碼或密鑰,用于驗證Webhook請求的有效性,確保只有授權(quán)方能觸發(fā)構(gòu)建任務(wù)。

c03bf362-1e9d-11f0-9310-92fbcf53809c.png

在這里插入圖片描述 對應(yīng)的URL和密碼輸入并新建WebHook即可,注意,因為Gitee中的bug,就算配置成功了,測試WebHook也會出現(xiàn)404錯誤。因此如果測試出現(xiàn)404錯誤不要著急,可以嘗試構(gòu)建項目看看效果再來確定問題!

c0505d2a-1e9d-11f0-9310-92fbcf53809c.png

在這里插入圖片描述

6.構(gòu)建設(shè)置

? 在“構(gòu)建”部分,你需要輸入Maven構(gòu)建的根POM文件的路徑,通常是pom.xml。

? 在“Goals and options”中,輸入你希望執(zhí)行的Maven命令,如clean install或package,根據(jù)項目需求選擇合適的構(gòu)建目標。

c065f9fa-1e9d-11f0-9310-92fbcf53809c.png

在這里插入圖片描述

7.構(gòu)建后操作(Post Steps)

? 你可以在“構(gòu)建后操作”部分添加一些后續(xù)步驟,如“發(fā)送郵件通知”或“部署到服務(wù)器”。

? 如果你使用Publish Over SSH插件,可以配置將構(gòu)建產(chǎn)物上傳到遠程服務(wù)器的步驟。

c076cf5a-1e9d-11f0-9310-92fbcf53809c.png

在這里插入圖片描述

此外,這里還需要上傳并執(zhí)行構(gòu)建后的deploy.sh腳本文件,具體腳本如下所示:

# 設(shè)置jdk路徑
exportJAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.23.0.9-2.el7_9.x86_64
exportPATH=$JAVA_HOME/bin:$PATH

# 設(shè)置jar路徑和文件名
JAR_PATH=/root/deploy_data
JARFILE=webserver-1.0.0-SNAPSHOT.jar

# kill掉正在運行的java進程
ps -ef | grep$JARFILE| grep -v grep | awk'{print $2}'| xargskill-9

# 開啟一個新的java進程
nohupjava -jar -Xms512m -Xmx1024m$JAR_PATH/$JARFILE> out.log 2>&1 &

if[ $? -eq 0 ];then
 sleep30
 tail-n 50 out.log
fi









這個腳本文件需要根據(jù)服務(wù)器中jdk的路徑以及jar的路徑和名稱進行修改!

8.保存配置并構(gòu)建

? 配置完成后,點擊頁面底部的“保存”或“應(yīng)用”按鈕。

? 返回項目主頁,點擊“立即構(gòu)建”或“Build Now”按鈕,啟動第一次構(gòu)建。

c08c82dc-1e9d-11f0-9310-92fbcf53809c.png

在這里插入圖片描述

9.查看構(gòu)建結(jié)果

? 構(gòu)建過程會在Jenkins的控制臺輸出中顯示,你可以點擊項目主頁左側(cè)的“控制臺輸出”查看構(gòu)建日志。

? 如果構(gòu)建成功,Jenkins會顯示一個綠色的“成功”標記,如果失敗,則顯示紅色“失敗”標記。

c0a0a604-1e9d-11f0-9310-92fbcf53809c.png

在這里插入圖片描述

通過以上步驟,你就可以在Jenkins中成功新建并配置一個Maven項目,實現(xiàn)自動化構(gòu)建。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 軟件
    +關(guān)注

    關(guān)注

    69

    文章

    5093

    瀏覽量

    88769
  • 自動化
    +關(guān)注

    關(guān)注

    29

    文章

    5725

    瀏覽量

    81230
  • 源代碼
    +關(guān)注

    關(guān)注

    96

    文章

    2949

    瀏覽量

    67610
  • jenkins
    +關(guān)注

    關(guān)注

    0

    文章

    32

    瀏覽量

    5268

原文標題:掌握Jenkins自動化部署:從代碼提交到自動上線的全流程揭秘

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    讀懂自動化是什么?

    自動化是什么?自動化的主要優(yōu)點是什么?自動化的主要缺點是什么?自動化有哪些應(yīng)用?
    發(fā)表于 07-13 06:48

    Jenkins遠程部署Linux服務(wù)器的過程

    1、Jenkins遠程部署Linux服務(wù)器  之前在Jenkins上也有些使用經(jīng)驗了,但是都是使用團隊配置好的Jenkins,自己只需要管
    發(fā)表于 11-18 18:12

    jenkins有什么用_jenkins如何自動部署

    Jenkins個開源的、提供友好操作界面的持續(xù)集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持續(xù)、自動的構(gòu)建/測試軟件項目、監(jiān)控外部任務(wù)的運行(這個比較抽象,暫且寫上,不做解釋)。
    發(fā)表于 12-20 19:06 ?3.7w次閱讀
    <b class='flag-5'>jenkins</b>有什么用_<b class='flag-5'>jenkins</b>如何<b class='flag-5'>自動</b><b class='flag-5'>部署</b>

    jenkins自動化部署

    本文詳細介紹Jenkins的簡單使用—jenkins自動化部署
    的頭像 發(fā)表于 02-06 11:27 ?4900次閱讀
    <b class='flag-5'>jenkins</b><b class='flag-5'>自動化</b><b class='flag-5'>部署</b>

    云平臺的自動化部署設(shè)計與實現(xiàn)

    PXE管理子系統(tǒng)以及云平臺組件安裝子系統(tǒng)以及自動化測試子系統(tǒng),并對各個子系統(tǒng)進行設(shè)計。通過實際的生產(chǎn)環(huán)境的檢驗,成功的完整的部署了云平臺,并將部署的時間由從前的周以上壓縮到兩天之內(nèi),
    發(fā)表于 02-23 10:07 ?0次下載
    云平臺的<b class='flag-5'>自動化</b><b class='flag-5'>部署</b>設(shè)計與實現(xiàn)

    Jenkins+docker+springboot自動部署項目

    本文章實現(xiàn)最簡單全面的Jenkins+docker+springboot 自動部署項目,步驟齊全,少走坑路。
    的頭像 發(fā)表于 09-14 09:30 ?1707次閱讀

    Jenkins+Docker自動化部署SpringBoot最簡流程

    簡述實現(xiàn)步驟:在docker安裝jenkins,配置jenkins基本信息,利用Dockerfile和shell腳本實現(xiàn)項目自動拉取打包并運行。
    的頭像 發(fā)表于 11-23 10:16 ?1529次閱讀

    Jenkins+Docker自動化部署SpringBoot項目

    本文章實現(xiàn)最簡單全面的Jenkins+docker+springboot 自動部署項目,步驟齊全,少走坑路。
    的頭像 發(fā)表于 12-14 10:04 ?1083次閱讀

    Jenkins+Docker實現(xiàn)自動化部署項目!

    本文章實現(xiàn)最簡單全面的Jenkins+docker+springboot 自動部署項目,步驟齊全,少走坑路。
    的頭像 發(fā)表于 01-06 15:36 ?1375次閱讀

    Jenkins+Docker自動化部署SpringBoot應(yīng)用最精簡流程

    簡述實現(xiàn)步驟:在docker安裝jenkins,配置jenkins基本信息,利用Dockerfile和shell腳本實現(xiàn)項目自動拉取打包并運行。
    的頭像 發(fā)表于 11-06 16:27 ?2473次閱讀
    <b class='flag-5'>Jenkins</b>+Docker<b class='flag-5'>一</b>鍵<b class='flag-5'>自動化</b><b class='flag-5'>部署</b>SpringBoot應(yīng)用最精簡流程

    基于Jenkins+GitLab+Maven實現(xiàn)代碼自動打包編譯發(fā)布

    Jenkins個獨立開源的持續(xù)集成和持續(xù)交付工具,用于自動化構(gòu)建、測試和部署軟件項目。
    的頭像 發(fā)表于 11-20 09:57 ?5604次閱讀
    基于<b class='flag-5'>Jenkins</b>+GitLab+Maven實現(xiàn)代碼<b class='flag-5'>自動</b>打包編譯發(fā)布

    使用Jenkins和單個模板部署多個Kubernetes組件

    在持續(xù)集成和部署中,我們通常需要部署多個實例或組件到Kubernetes集群中。通過Jenkins的管道腳本,我們可以自動化這個過程。在本文中,我將演示如何使用
    的頭像 發(fā)表于 01-02 11:40 ?971次閱讀
    使用<b class='flag-5'>Jenkins</b>和單個模板<b class='flag-5'>部署</b>多個Kubernetes組件

    Flexus X 實例 Docker+Jenkins+gitee 實現(xiàn) CICD 自動化部署 - 解放你的雙手~

    前言 828 B2B 企業(yè)節(jié)特惠來襲,F(xiàn)lexus X 實例引領(lǐng)自動化部署新紀元!Docker 攜手 Jenkins 與 Gitee,共創(chuàng) CICD 無限可能!在快速迭代的數(shù)字時代,我們自豪地推出
    的頭像 發(fā)表于 12-26 18:19 ?385次閱讀
    Flexus X 實例 Docker+<b class='flag-5'>Jenkins</b>+gitee 實現(xiàn) CICD <b class='flag-5'>自動化</b><b class='flag-5'>部署</b> - 解放你的雙手~

    Jenkins 與 SonarQube 集成部署,自動化代碼質(zhì)量監(jiān)控

    的性能表現(xiàn),為 Jenkins 與 SonarQube 的集成部署提供強大支撐。在 Flexus X 的助力下,自動化代碼掃描與質(zhì)量問題即時反饋成為可能,顯著提升團隊開發(fā)效率與軟件質(zhì)量。立即體驗華為云
    的頭像 發(fā)表于 01-07 17:24 ?567次閱讀
    <b class='flag-5'>Jenkins</b> 與 SonarQube 集成<b class='flag-5'>部署</b>,<b class='flag-5'>自動化</b>代碼質(zhì)量監(jiān)控

    基于 Docker 與 Jenkins 實現(xiàn)自動化部署

    828 企業(yè)上云節(jié)優(yōu)惠,開啟您的 Docker 與 Jenkins 自動化部署之旅,讓軟件創(chuàng)新更快步! 鏈接直達
    的頭像 發(fā)表于 01-07 17:25 ?395次閱讀
    基于 Docker 與 <b class='flag-5'>Jenkins</b> 實現(xiàn)<b class='flag-5'>自動化</b><b class='flag-5'>部署</b>