@[TOC]
一幢妄、前言
只從公司用了Jenkins后就很想寫這個了包各,因為這個真真真的是太方便了曾雕,想起小農剛工作的時候,那個時候部署項目怎么部署呢钉嘹?首先需要將對應的class文件和xml一個一個導出來,放到對應的包文件里面鲸阻,有時候一不小心很有可能會導錯跋涣,這個時候又要去重新拉一下對應的class文件,然后對比看有沒有導入錯誤鸟悴,是不是class文件陈辱,先停止對應的tomcat服務,然后放到服務器上细诸,之后再啟動tomcat沛贪,這個過程簡直就是繁瑣重復而且沒有技術含量,為此公司還專門配置了一個做這個工作的運維人員震贵,完全沒有必要利赋,這點工資給我,我來做還做開發(fā)猩系,它不香嗎媚送?言歸正傳,自從用了Jenkins寇甸,才發(fā)現那是真的香塘偎,只需要提交到GIT上,然后在Jenkins上鼠標輕輕一點拿霉,等待發(fā)布吟秩,順便還可以喝杯咖啡,省時省力绽淘,今天這篇文章就將介紹涵防,如果搭建一個自動化部署的Jenkins。
附圖一張我們的Jenkins:
二收恢、DevOps概念
DevOps 一詞的來自于 Development 和 Operations 的組合武学,突出重視軟件開發(fā)人員和運維人員的溝通合作,通過自動化流程來使得軟件構建伦意、測試火窒、發(fā)布更加快捷、頻繁和可靠驮肉。DevOps 其實包含了三個部分:開發(fā)熏矿、測試和運維。換句話 DevOps 希望做到的是軟件產品交付過程中IT工具鏈的打通,使得各個團隊減少時間損耗票编,更加高效地協(xié)同工作褪储。
DevOps 強調的是高效組織團隊之間如何通過自動化的工具協(xié)作和溝通來完成軟件的生命周期管理,從而更快慧域、更頻繁地交付更穩(wěn)定的軟件
如果從字面上來理解鲤竹,DevOps 只是Dev(開發(fā)人員)+Ops(運維人員),實際上昔榴,它是一組過程辛藻、方法與系統(tǒng)的統(tǒng)稱,其概念從2009 年首次提出發(fā)展到現在互订,內容非常豐富吱肌,有理論也有實踐,包括組織文化仰禽、自動化氮墨、精益、反饋和分享等不同方面吐葵。
三规揪、為什么要做持續(xù)集成
- 持續(xù)集成服務(Continuous Integration,簡稱 CI)
- 它綁定 Github 上面的項目折联,只要有新的代碼粒褒,就會自動抓取。然后诚镰,提供一個運行環(huán)境奕坟,執(zhí)行測試,完成構建清笨,還能部署到服務器月杉。
- 持續(xù)集成指的是只要代碼有變更,就自動運行構建和測試抠艾,反饋運行結果苛萎。確保符合預期以后,再將新代碼"集成"到主干检号。
- 持續(xù)集成的好處在于腌歉,每次代碼的小幅變更,就能看到運行結果齐苛,從而不斷累積小的變更翘盖,而不是在開發(fā)周期結束時,一下子合并一大塊代碼凹蜂。
四馍驯、常見云服務
- travis-ci
Travis CI 是在軟件開發(fā)領域中的一個在線的阁危,分布式的持續(xù)集成服務,用來構建及測試在GitHub托管的代碼汰瘫。與 Jenkis 不同狂打,Travis 不需要自己在服務器部署服務,并且是高度集成 GitHub 的混弥,所以對于開源項目還是非常友好的趴乡。
適用于開源軟件
官網:https://travis-ci.org/ - CircleCI
CircleCI 和travis-ci類似也是一個持續(xù)集成/持續(xù)部署的服務,不需要自己搭建服務器剑逃。適用于開源軟件 - 阿里云
- 華為云
- IBM
- daocloud
- Jenkins
五浙宜、手動部署Jenkins
5.1 準備工作
1.JDK
下載地址:https://pan.baidu.com/s/1Q2CSqX5PE8PghFOgSGwOZQ
提取碼:l8uo
2. Maven
鏈接:https://pan.baidu.com/s/101f74xd7ljtynklUo-KBdg
提取碼:nwgj
3. Git
git安裝命令:
yum install git
4. 環(huán)境配置:
vi /etc/profile
5.2 下載
Jenkins 項目產生兩個發(fā)行線, 長期支持版本 (LTS) 和每周更新版本
兩個版本都以 .war
文件, 原生包, 安裝程序, 和 Docker 容器的形式分發(fā)
最新下載地址:https://jenkins.io/zh/download/
要是下載不下來的小伙伴,也可以用過百度云下載: https://pan.baidu.com/s/1ZqX_3JUsQ88_hJuJZhkXrw
提取碼:w1vj
5.3 啟動
下載好我們的 jenkins.war 后蛹磺,放到linux服務上,執(zhí)行java -jar Jenkins.war
啟動服務同仆,啟動過程中我們會看到下面的日志信息:
第一次加載的時候Jenkins會比較慢萤捆,它會把需要持久化的信息放到文件夾/root/.jenkins/
,所以會比較慢俗批,我們需要耐心進行等待俗或,當出現下面日志的時候才說明我們啟動成功了,如圖:
[圖片上傳失敗...(image-26a92a-1606876652746)]
訪問地址:http://ip地址:8080/
注意:如果你的地址加端口不能訪問岁忘,首先確定你的Jenkins起來沒有辛慰,如果Jenkins啟動成功了,那么記得開放8080端口
firewall-cmd --permanent --zone=public --add-port=8080/tcp
輸入我們在控制臺中看到的密鑰干像,如果找不到可以到
/root/.jenkins/secrets/initialAdminPassword
中查看密鑰
5.4 配置
1 選擇插件來安裝帅腌,不要選擇安裝推薦的插件,不然你可能會下載一天麻汰,會很慢
-
這里選擇無速客,不安裝插件,點擊安裝,五鲫,插件我們后續(xù)只需安裝我們需要的即可
3.輸入我們的用戶名和密碼之后溺职,點擊保存并完成
4.實例配置,默認就行位喂,一般是和服務器地址匹配的
5.開始使用
5.5 Jenkins 首頁
這里就是我們配置成功之后看到的Jenkins的首頁地址浪耘,但是里面什么插件都沒有,接下來就需要我們去配置對應的插件地址
5.6 手動安裝插件
5.6.1. 中文漢化插件(Localization: Chinese (Simplified))
點擊 Manage Jenkins -> Manage Plugins
5.6.2.安裝漢化插件
在搜索框中輸入:Chinese 點擊安裝
重啟之后Jenkins會自動刷新塑崖,到登錄頁面七冲,這個時候我們輸入我們剛開始配置的用戶名和密碼,就可以進行登錄了
這里就是漢化之后的Jenkins
5.6.3.安裝Git
選擇系統(tǒng)管理弃舒,點擊插件管理
下載插件包
1 選擇可選插件
2 輸入Git
3 選擇Git
4 下載待重啟后安裝
這個時候下載會比較慢癞埠,大家要耐心等待一會
5.6.4.Maven Integration
在插件管理中下載插件Maven Integration
状原,然后在重復我們上面的操作
開始下載,等下載后我們對Jenkins進行重啟
到這里我們的Jenkins安裝和配置就已經安裝完成了C缱佟5咔!可以進入正式的項目新建項目了
六通铲、Jenkins + Maven +Git 自動化繼承/測試
6.1 Git拉取項目
生成公鑰私鑰對出來毕莱,命令:ssh-keygen
進入密鑰目錄:
cd .ssh/
打開我們的git地址:https://github.com/
新建一個SSH密鑰
在下方輸入我們剛才生成的公鑰
vi id_rsa.pub
這里我們用一個測試項目,項目代碼很簡單颅夺,就不做展示了朋截,有興趣的可以直接下載,項目地址:https://github.com/muxiaonong/ci-test.git
使用命令下載項目到我們的服務器上:git clone https://github.com/muxiaonong/ci-test.git
如果下載成功了說明我們就配置好了
6.2 新建Jenkins項目
1 選擇新建任務
2 輸入任務名稱吧黄,然后選擇Maven項目部服,點擊確定
3 輸入描述,源碼管理選擇git
輸入我們剛才管理的Git地址 https://github.com/muxiaonong/ci-test.git
4 點擊添加拗慨,選擇Jenkins配置
4 配置憑據
類型選擇SSH
私鑰輸入我們剛才生成的廓八,在目錄 /root/.ssh
,文件名為:id_rsa
赵抢,將里面的私鑰復制進去
添加好憑據后選擇root
5 輪詢
填寫 * * * * *
意思是每分鐘執(zhí)行
6 環(huán)境變量
當我們第一次配置Jenkins 的時候剧蹂,由于我們沒有在Jenkins上配置環(huán)境變量,會提醒我們需要配置變量烦却,我們點擊下圖中的鏈接宠叼,進入配置頁面
7 JDK配置
點擊新增JDK -》 自動安裝前面的勾選,去掉 -》 輸入別名和JAVA_HOME
注意:JAVA_HOME的輸入框下面其爵,不要有警告或者錯誤信息冒冬,否則就是路徑不正確。
使用 mvn -version
命令時醋闭,就已經打印了Java home變量窄驹,注意:去除最后的jre
8 Maven配置
點擊新增Maven -》 自動安裝前面的勾選,去掉 -》 輸入Name和MAVEN_HOME
注意:使用 mvn -version
命令证逻,就可以看到Maven home變量
MAVEN_HOME 輸入框下面乐埠,不要有警告或者錯誤信息,否則就是路徑不正確囚企。
如果Build還是報錯丈咐,我們先點擊保存,然后在進行配置
這個時候我們什么都不需要進行操作龙宏,只需要點擊棵逊,應用保存即可
10 大功告成
我們點擊立即構建,
然后在執(zhí)行狀態(tài)就可以看到我們在執(zhí)行银酗,然后鼠標放到 #2上面辆影,會有一個小三角徒像,點擊控制臺輸出
11 項目運行
當我們看到下面的一句話的時候,說明我們的項目已經成功 配置到Jenkins上蛙讥,并且成功運行了
七锯蛀、總結
如果安裝Maven Integration失敗,需要手動下載javadoc.hpi文件次慢,具體下載路徑旁涤,報錯信息中會有提示的,使用迅雷下載即可迫像。
然后在jenkins插件管理中選擇高級模式劈愚,然后上傳安裝就可以解決!
https://plugins.jenkins.io/下載好hpi文件上傳安裝即可
Jenkins對于現在越來越火的微服務來說闻妓,簡直就是如魚得水菌羽,讓運維和開發(fā)都方便了很多,記得之前小農面試的時候由缆,面試官還問算凿,會Jenkins嗎,或者自己搭建嗎犁功,小農相信,當你看過這篇文章之后婚夫,如果恰好有面試官或者同事問你浸卦,你可以告訴他答案了,感興趣的小伙伴可以動手搭建起來了案糙,有不懂的可以在下面留言限嫌,小農看見了會第一時間回復大家,謝謝时捌,大家加油~