999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺談軟件持續集成工具Jenkins的特點

2025-05-05 00:00:00石慶冬
科技風 2025年11期

摘"要:在現代軟件開發中,隨著項目規模和版本迭代速度的不斷增長,軟件集成效率往往成為影響整個項目進度的重要因素。選擇一款合適的集成工具對于開發團隊而言是至關重要的。Jenkins是使用范圍廣、用戶數量眾多的持續集成工具之一。本文主要闡述了Jenkins在免費開源、跨平臺、可視化管理、插件的應用、與代碼管理工具集成、自動構建等方面的特點,并通過實例演示了Jenkins的配置和使用。此外,本文還分析了Jenkins的優劣勢,了解這些內容對于學習Jenkins和其他類似工具都會有所幫助。

關鍵詞:Jenkins;持續集成;持續交付;自動構建

Brief"Discussion"on"the"Characteristics

of"Jenkins—a"Software"Continuous"Integration"Tool

Shi"Qingdong

Intel(China)Co.,Ltd."Beijing"100013

Abstract:In"modern"software"development,as"project"scale"and"version"iteration"speed"continue"to"grow,software"integration"efficiency"often"becomes"an"important"factor"affecting"the"progress"of"the"entire"project.Choosing"the"right"integration"tool"is"crucial"for"development"teams.Jenkins"is"one"of"the"continuous"integration"tools"that"is"widely"used"and"has"a"large"number"of"users.This"article"mainly"explains"the"characteristics"of"Jenkins"in"terms"of"free"open"source,crossplatform,visual"management,plugin"application,integration"withnbsp;code"management"tools,automatic"build,etc.,and"demonstrates"the"configuration"and"use"of"Jenkins"through"examples.In"addition,the"article"also"analyzes"the"advantages"and"disadvantages"of"Jenkins.Understanding"these"contents"will"be"helpful"for"learning"Jenkins"and"other"similar"tools.

Keywords:Jenkins;continuous"integration;continuous"delivery;automatic"build

在軟件開發的過程中,代碼是在不斷地變化的,尤其是大型項目和多人團隊。當軟件編碼工作告一段落需要出新的版本時,經常出現大量的編譯錯誤,好不容易解決了編譯錯誤,發現軟件的某些預期功能并沒有實現或者有瑕疵,軟件團隊感覺問題堆積如山,解決起來非常麻煩甚至無從下手。

在早期軟件行業中,上述情況很常見。隨著軟件工程的發展,這種情況已經很少了,主要得益于持續集成和持續交付相關工具的出現[12]。1994年,Grady"Booch在著作《面向對象分析設計與應用》中首次提出CI(持續集成)這個術語[3],雖然當時他并不提倡每天集成多次,但后來持續集成包含了這方面的內容,提倡高頻度集成。

CI工具有很多,Jenkins是用戶數最多的持續集成工具之一,它起源于Hudson,正式出現在2011年。Jenkins是一個開源的CI工具,用于自動化構建、監控Web任務的運行、測試和部署軟件項目。它提供了一個易于使用和可擴展的平臺,能夠幫助軟件團隊更高效地開發和交付軟件[4],這同它自身的特點是分不開的。

1"免費開源

Jenkins是由Java語言編寫的,其源代碼是公開的,存放在代碼托管平臺Github上,遵循MIT開源協議,可以免費下載[5]。因為免費,很多預算有限的項目組會選擇它。運行如下git命令可以得到Jenkins的代碼倉庫:

git"clone"lt;代碼倉庫地址gt;

也可以打開Jenkins在Github上的版本發布頁面,下載某個特定版本的安裝包和源代碼。

2"跨平臺、易安裝

Jenkins能夠在Windows、Linux和Mac"OS等多種主流操作系統上安裝并運行,從Jenkins官網可下載相應平臺的安裝包。下載后,為保證下載的是正確的,最好做一下核對。在Jenkins官網的Download頁面列出了各個版本jenkins.war文件的SHA1和SHA256校驗值。下載后,運行sha1sum"jenkins.war和sha256sum"jenkins.war命令查看war包的校驗值,如果值和官網上的一致,說明下載的war包沒有問題。例如,版本2.452.1的SHA1值如下:

$sha1sum"jenkins.war

65c8fe26b417d92961e8e8c647d816d0f9b8f7ad"jenkins.war

下載安裝包的時候,要首選LTS(長期支持)版本,這樣可以方便將來的軟件更新,降低版本升級的風險。

在Linux系統下一般是使用命令行安裝Jenkins。例如,對于Ubuntu操作系統,先添加Jenkins存儲庫密鑰和源,然后運行如下安裝命令:

$sudo"aptget"update

$sudo"aptget"install"jenkins

還需要安裝java:

$sudo"apt"install"fontconfig"openjdk17jre

啟動Jenkins服務的命令為:

$sudo"systemctl"start"jenkins

如果希望Linux系統在開機后Jenkins能夠自動啟動,相應的命令為:

$sudo"systemctl"enable"jenkins

在Windows下一般是使用圖形界面安裝Jenkins。下載jenkins.msi后,雙擊它,即可開始安裝,得到如圖1所示的顯示內容。

安裝過程中需要設置端口號,默認為8080,如圖2所示。

在Windows下也可以執行指令安裝Jenkins,命令為:

msiexec.exe/i"\"C:\\Downloads\\jenkins.msi\"/qn/norestart

安裝完成后,通過瀏覽Windows中“計算機管理”下面的“服務”,點鼠標右鍵來啟動或停止Jenkins服務。

如果Windows上沒有事先安裝java,則需要先安裝它,先從Java官網下載安裝文件,然后鼠標雙擊開始安裝,如圖3所示。

3"可視化管理與配置

在Windows下的瀏覽器中輸入http://localhost:8080/即可運行Jenkins,如圖4所示。Jenkins的幾乎所有操作通過點擊界面按鈕就可以完成,非常易于管理和配置。Jenkins設置界面非常友好,配有詳細的幫助和說明,學習容易。

Jenkins的插件目前有超過1900個,這些插件使得Jenkins具備了很好的可擴展性,詳見Jenkins官網的Plugins部分。許多功能通過安裝插件即可使用。例如,安裝Locale和Localization:Chinese(Simplified)這兩個插件,就能夠讓Jenkins的界面變為中文。圖5為安裝中文插件的頁面。

Jenkins官網的plugins部分列出了所有的可下載插件。

4"能夠與代碼管理工具進行集成

Jenkins可以從代碼版本庫(如Git和Svn)中獲得最新的源碼,并進行構建,如圖6所示。Jenkins支持各種構建工具和構建腳本,如Ant、Maven、Gradle等。

5"自動構建

有了Jenkins,軟件開發人員可以不再手工運行編譯鏈接命令。Jenkins可以根據時間計劃或代碼倉庫的變更來觸發構建任務,也就是說,可以定時啟動編譯,也可以設置為有新代碼合入時就啟動編譯。這樣可以及早地暴露新代碼引入的編譯錯誤,讓更多潛在的錯誤在軟件開發的早期被捕獲,從而有助于提升軟件質量。如圖7所示的設置為:每周一到周五的上午10點后,自動觸發構建。

Jenkins支持分布式構建,支持多臺計算機同時構建,即一個Jenkins"Job可以傳遞參數調用其他多個Job,這樣可以分隔任務,提高構建效率。

6"構建步驟可通過腳本控制

在Jenkins中既可以運行Linux"Shell腳本,也可以運行Windows的批處理命令,還支持Python腳本的運行,用以配置構建的步驟,如圖8所示:

7"龐大的用戶群

Jenkins擁有龐大的用戶群。開發者生態報告(2023),有超過26000名來自世界各地的開發者參與有關CI的調查[6],統計結果如圖9,Jenkin的排名是首位。有很多關于Jenkins的活躍社區,提供了大量的教程、文檔和支持。例如,代碼托管平臺Gitee和Jenkins官網上有中文社區,國外比較有名的IT技術問答網站stackoverflow上有Jenkins板塊,初學者有問題時在社區中可以得到幫助。

結語

Jenkins的特點還有很多。如構建后可有多種操作:推送日志、開始另一項或幾項構建(或自動測試任務)、發送Email通知和清理工作空間等。如Jenkins可以與Python結合起來,使用pip命令安裝pythonjenkins模塊之后,通過腳本來連接到Jenkins服務器,可以執行創建Job、刪除Job、啟動構建、安裝插件等各種操作。前面談到的基本上是Jenkins的優點,Jenkins也有缺點,比如,Jenkins是在Docker和Kubernetes等技術興起之前開發的,雖然它通過插件可以與這些技術集成,但它可能無法提供與近期新出現的CI/CD工具相同級別的本地支持。

以上介紹了Jenkins的主要特點,希望對從事軟件集成相關工作的工程師帶來一些可借鑒價值。

參考文獻:

[1]袁宜霞.持續集成在敏捷開發模式中的應用探析[J].電腦知識與技術,2023(11):3436.

[2]邵奇,年福豐.基于Bitbucket和Bamboo的嵌入式軟件持續集成方法[J].電子技術與軟件工程,2022(3):4752.

[3]Continuous"integration[EB/OL].[20240603].https://en.wikipedia.org/wiki/Continuous_integration.

[4]程寧,戴遠泉.基于Jenkins持續集成部署研究與實現[J].電子制作,2021(22):4648.

[5]Paulo"Gardini"Miguel.20"Best"CI/CD"Tools"for"2024[EB/OL].[20240429].https://thectoclub.com/tools/bestcicdtools/.

[6]Olga"Bedrina.Best"Continuous"Integration"Tools"for"2024Survey"Results[EB/OL].[20240118].https://blog.jetbrains.com/teamcity/2023/07/bestcitools/.

作者簡介:石慶冬(1971—"),男,漢族,江蘇揚州人,博士研究生,高級工程師,從事Linux下的軟件集成工作。

主站蜘蛛池模板: 国产成人精品亚洲日本对白优播| 青青青国产视频手机| 多人乱p欧美在线观看| 国产99视频免费精品是看6| 天天婬欲婬香婬色婬视频播放| 亚洲人成影院午夜网站| 黄色成年视频| 欧美国产日本高清不卡| 毛片免费在线| 亚洲色图在线观看| 国产成人成人一区二区| 欧美日韩激情在线| 久久精品嫩草研究院| 中文国产成人精品久久一| 亚洲第一福利视频导航| 欧美va亚洲va香蕉在线| 日本成人精品视频| 一区二区在线视频免费观看| 情侣午夜国产在线一区无码| 日韩av资源在线| 自慰高潮喷白浆在线观看| 精品一区二区无码av| 五月激情综合网| 国产视频自拍一区| 免费jizz在线播放| 久久国产成人精品国产成人亚洲 | 免费无码又爽又黄又刺激网站 | 国产精品无码AV片在线观看播放| 黑人巨大精品欧美一区二区区| 久久午夜影院| 国产人成网线在线播放va| 2022精品国偷自产免费观看| 精品一區二區久久久久久久網站| 国产福利影院在线观看| 国产精品吹潮在线观看中文| 免费在线不卡视频| 亚洲AV无码久久天堂| 人妻精品久久久无码区色视| 99激情网| 在线观看国产黄色| 自慰高潮喷白浆在线观看| 99精品免费欧美成人小视频| 国产视频自拍一区| 中文字幕 91| 欧美专区日韩专区| 色哟哟国产成人精品| 亚洲第一成年人网站| 国产超碰在线观看| 日韩欧美在线观看| 亚洲国产综合自在线另类| 久久香蕉国产线看观看式| 性喷潮久久久久久久久| 国产高潮流白浆视频| 91精品人妻一区二区| 亚洲无码高清一区| 国产香蕉97碰碰视频VA碰碰看| 毛片网站在线看| 国产在线自在拍91精品黑人| 专干老肥熟女视频网站| 日韩小视频在线观看| 黄色网页在线播放| 亚洲综合一区国产精品| 一级高清毛片免费a级高清毛片| 亚洲黄色视频在线观看一区| 91精品免费高清在线| 国产精品第| 在线免费a视频| 成人国产精品视频频| yjizz国产在线视频网| 国产偷国产偷在线高清| 狂欢视频在线观看不卡| 日韩无码视频网站| 波多野结衣中文字幕一区二区| 欧美亚洲国产精品第一页| 国产综合色在线视频播放线视| 91网在线| 欧美亚洲欧美区| 粉嫩国产白浆在线观看| 亚洲日韩精品综合在线一区二区| 91无码国产视频| 国产91色在线| 久久免费精品琪琪|