太簡單了,一文徹底搞懂Jenkins的用法!
:
你想要的,這里都有!
我在前公司的某個部門做過一年CV算法工程師,部門推崇全棧式開發(fā)。換句話說,做算法,不能只聚焦于算法,要全流程都要會。
因此,從數(shù)據(jù)采集、數(shù)據(jù)預(yù)處理、算法設(shè)計、編碼、Docker構(gòu)建、alpha測試、beta測試,甚至還到G端客戶做過私有化部署。
所以,在這一年多的工作里,我就經(jīng)常就會用到Jenkins。
今天就把自己之前積累下來的一些經(jīng)驗分享給大家。
Jenkins是什么?
Jenkins是一款由Java編寫的開源的持續(xù)集成工具,能夠在軟件開發(fā)過程中提供持續(xù)集成服務(wù)。
它支持SVM、CVS、Git等軟件配置管理工具,也可以執(zhí)行基于Ant、Moven的項目、Shell腳本、Windows批處理命令。
因此,它經(jīng)常被用于項目的持續(xù)集成與測試中。
在本文中,將介紹如何使用Jenkins構(gòu)建基于Maven、Git的Java Spring項目。
1. 訪問Jenkins控制面板并在Jenkins中配置Maven
單擊“Manage Jenkins”,然后進入“Global Tool Configuration”。
添加一個Maven配置并輸入名稱。點擊保存。
2. 在Jenkins中為Spring應(yīng)用程序創(chuàng)建我們的第一個構(gòu)建任務(wù)
點擊“New Item”:
提供項目名稱,并且選擇“Freestyle Project”:
轉(zhuǎn)到“Source Code Management”,選擇“ Git”,然后提供存儲庫URL和分支。
轉(zhuǎn)到“Build”選項卡,然后選擇“Invoke top-level Maven targets”
選擇Maven版本,在目標中進行編譯,然后單擊“Save”:
點擊“Build Now” :
在構(gòu)建歷史記錄部分的第一個構(gòu)建中單擊“Console Output”
確認完成后會顯示“ SUCCESS”消息。
3. 在Jenkins中通過兩個階段的構(gòu)建和測試來開發(fā)和查看Spring應(yīng)用程序
讓我們創(chuàng)建一個新項目:
輸入項目名稱,選擇“Freestyle project”,然后單擊“OK”。
轉(zhuǎn)到“Source Code Management”,選擇“ Git”,然后提供存儲庫URL和分支。
轉(zhuǎn)到“Build”選項卡,然后選擇“Invoke top-level Maven targets”
選擇Maven版本,在目標中進行編譯,然后單擊“save”:
點擊“Build Now” :
在構(gòu)建歷史記錄部分的第一個構(gòu)建中單擊“Console Output”
確認完成后會顯示“ SUCCESS”消息。
在編譯作業(yè)完成后,請轉(zhuǎn)到該項目的“Configure”選項:
轉(zhuǎn)到“Build Triggers”部分,然后選擇“Build after other projects are built”選項。然后,輸入其他項目名稱,然后單擊“Save”。
轉(zhuǎn)到主菜單中的“Manage Jenkins”選項,然后選擇“Manage Plugins”
轉(zhuǎn)到“Available”標簽,然后查找“Build pipeline”。選擇它,然后單擊“Install without Restart”
在主頁中點擊加號
選擇“Build Pipeline View”選項,提供視圖名稱,然后單擊“OK”
選擇初始作業(yè),然后單擊確定。
點擊“Run”
添加圖片注釋,不超過 140 字(可選)
4. 以腳本/聲明性形式轉(zhuǎn)換工作流程
首先,安裝“Pipeline Maven Integration Plugin”:
接下來,創(chuàng)建一個項目:
然后,轉(zhuǎn)到“Pipeline”選項卡,然后選擇“Scripted Pipeline”或“ GitHub + Maven”作為聲明Pipeline。
最后,根據(jù)需要修改代碼,然后單擊“Save”
如果單擊“Build Now”,則可以看到結(jié)果:
5. 為我們的應(yīng)用程序開發(fā)一個Jenkinsfile
如果為聲明性Pipeline選擇了“GitHub + Maven”,則可以將該代碼復(fù)制到項目根目錄中的Jenkinsfile中。
現(xiàn)在,編輯Pipeline并選擇“Pipeline script from SCM”。
然后,選擇Git作為你的軟件配置管理工具,并提供存儲庫URL和分支。