持續(xù)集成工具之Jenkins安裝部署的詳細教程
一、DevOps理念
所謂DevOps是指development和Operations的組合,中文意思就是開發(fā)和運維的簡寫。devops理念主要是針對企業(yè)中的研發(fā)人員、運維人員和測試人員的工作理念,是他們在應用開發(fā)、代碼部署和質(zhì)量測試等整條生命周期中協(xié)作和溝通的最佳實踐DevOps 強調(diào)整個組織的合作以及交付和基礎設施變更的自動化、從而實現(xiàn)持續(xù)集成、持續(xù)部署和持續(xù)交付。傳統(tǒng)的模式的開發(fā)人員只顧開發(fā)程序,運維只負責基礎環(huán)境管理和代碼部署及監(jiān)控等,其并不是為了一個共同的目標而共同實現(xiàn)最終的目的,而DevOps 則實現(xiàn)團隊作戰(zhàn),即無論是開發(fā)、運維還是測試,都為了最終的代碼發(fā)布、持續(xù)部署和業(yè)務穩(wěn)定而付出各自的努力,從而實現(xiàn)產(chǎn)品設計、開發(fā)、測試和部署的良性循環(huán),實現(xiàn)產(chǎn)品的最終持續(xù)交付。
以上這張圖詮釋了什么是DevOps,devops在研發(fā)、運維、測試當中是三者的交集;有了devops理念,研發(fā)開發(fā)流程高效,穩(wěn)定快速,交付結果可預期;測試根據(jù)開發(fā)提交的代碼,進行持續(xù)測試,提升了交付的質(zhì)量;而運維也可以利用一些自動化部署工具,將測試過得代碼,部署到線上;通過這樣一個過程,降低了運維維護的成本;研發(fā)開發(fā)的代碼,提交到倉庫,由測試人員從倉庫中拉去代碼進行測試,如果這中間有bug,測試會把測試的結果拿給開發(fā)看,讓開發(fā)改,經(jīng)過多次修改,代碼沒有問題,然后再由運維人員將測試過的代碼,部署到線上,通常在正式部署到線上時,一般都不會一下子將所有服務器都更新,一般采取分批部署,灰度發(fā)布;所謂灰度發(fā)布指在業(yè)務訪問不高的情況下,將一部分服務器從生產(chǎn)環(huán)境摘下,進行代碼更新,然后再上線;經(jīng)過一段時間新上線的代碼沒有bug,然后再分批將其他服務器更新;如果上線后業(yè)務有異常,運維人員會將上線都代碼立即回滾;這樣做可以最大化減少線上業(yè)務故障;
devops流程
上圖是devops理念的一個流程,從項目最早的計劃,到項目上線交付,后續(xù)的監(jiān)控形成了一個閉環(huán),這也體現(xiàn)了DevOps的核心理念團隊協(xié)作、相互協(xié)助、持續(xù)發(fā)展;中間任何環(huán)節(jié)出現(xiàn)問題,都會將項目回退到上一步,它們之間都是環(huán)環(huán)相扣的;比如在t測試沒有通過,那么測試會將測試的結果告訴開發(fā),說代碼測試有bug,然后研發(fā)修改,直到測試通過才會到運維手里,當然運維將項目部署到線上后,也要做監(jiān)控,如果上線后監(jiān)控到部分指標有問題,比如內(nèi)存消耗嚴重,cpu負載過高,這些問題運維一方面要考慮服務器本身是否有問題,另一方面要考慮代碼的問題;所以運維要和開發(fā)共同去協(xié)作,最終將問題解決;
持續(xù)集成(Continuous integration)簡稱CI;所謂持續(xù)集成指多名開發(fā)者在開發(fā)不同功能代碼的過程當中,可以頻繁的將代碼行合并到一起并切相互不影響工作。
持續(xù)部署(continuous deployment)簡稱CD;持續(xù)部署指是基于某種工具或平臺實現(xiàn)代碼自動化的構建、測試和部署到線上環(huán)境以實現(xiàn)交付高質(zhì)量的產(chǎn)品,持續(xù)部署在某種程度上代表了一個開發(fā)團隊的更新迭代速率。
持續(xù)交付(Continuous Delivery)簡稱CD;持續(xù)交付是在持續(xù)部署的基礎之上,將產(chǎn)品交付到線上環(huán)境,因此持續(xù)交付是產(chǎn)品價值的一種交付,是產(chǎn)品價值的一種盈利的實現(xiàn)。
devops中常用的工具
jenkins在devops中主要做持續(xù)集成的工作,它可以將開發(fā)寫的項目代碼從代碼倉庫中拉去下來,進行代碼掃描、編譯、測試,部署到線上;
jenkins是java語言編寫的一款高度插件化的軟件,它的很多功能都是由插件實現(xiàn),擴展功能我們安裝對應的插件即可,非常方便靈活;除此之外,jenkins還可以在多臺機器上進行分布式地構建和負載測試。Jenkins是根據(jù)MIT許可協(xié)議發(fā)布的,因此可以自由地使用和分發(fā)。
了解了上面的簡介,我們再來說說jenkins的部署;
二、環(huán)境準備
硬件環(huán)境:內(nèi)存建議4G+,Cpu:建議4核;當然根據(jù)自身環(huán)境的規(guī)模,確定硬件配置是比較妥當?shù)淖龇ǎ?/p>
準備java環(huán)境
1、安裝java8
提示:java8我們可以直接安裝openjdk;也可以去oracle官網(wǎng)下載二進制包解壓安裝;我這里直接安裝oracle的rpm包jdk;
驗證java環(huán)境
提示:如果安裝了jdk以后,一定要確認能夠使用java -version打印出java對應的版本,打印出版本說明我們安裝的java環(huán)境才沒有問題;以上是yum安裝rpm包的方式部署java環(huán)境;
配置二進制包java環(huán)境
以上把jdk安裝到/usr/local/目錄下,接下來到處java環(huán)境
驗證:重啟服務器,等服務器啟動好了,看看在命令行能否使用java -version命令打印出對應java8的版本信息
提示:如果重啟后使用java -version能夠看到對應java的版本,說明java環(huán)境就沒有問題;
準備好java環(huán)境,接著我們下載去官網(wǎng)下載jenkins;jenkins的官方網(wǎng)站是https://www.jenkins.io/;找到download頁面,選擇對應的系統(tǒng)
提示:官方告訴我們說,配置jenkins的倉庫,然后使用yum install jenkins 命令來安裝jenkins;并且官方建議使用openjdk;
安裝openjdk
驗證java環(huán)境
2、配置jenkins倉庫
三、安裝jenkins
查看jenkins安裝了那些文件
提示:/etc/sysconfig/jenkins是jenkins的配置文件;/usr/lib/jenkins/jenkins.war這個是jenkins的主程序war包;/var/lib/jenkins這個是jenkins的數(shù)據(jù)目錄,通常這個目錄我們應該掛載一個較大的存儲,后續(xù)jenkins拉取代碼就存放在此處;/var/log/jenkins這個是jenkins的日志存放目錄;
編輯jenkins的配置文件
提示:JENKINS_HOME用來指定jenkins的數(shù)據(jù)目錄;默認是在/var/lib/jenkins目錄;JENKINS_USER是用來指定jenkins的啟動用戶,默認是jenkins;如果不更改啟動用戶,使用默認用戶,后續(xù)我們拖代碼,編譯,測試都是基于這個用戶的權限去做,所以后續(xù)要注意其他服務器上對這個用戶的權限;通常jenkins平臺都不會對外,都是在內(nèi)網(wǎng)中使用,所以更改成root也是可以的,如果你不想麻煩,建議修改成root;后續(xù)其他配置幾乎不用更改,保存上面的配置,我們就可以啟動jenkins了;
啟動jenkins,并把它設置為開機啟動
提示:設置jenkins開機啟動,需要用chkconfig命令去設置,原因是它沒有提供unit file腳本文件;當然啟動也是可以使用service命令去啟動;
用瀏覽器訪問8080端口
提示:jenkins的啟動稍微有點慢,我們這里耐心等待就好;如果內(nèi)存小了,會等很久才起來;
提示:這里提示我們把上面輸入管理員密碼;這個管理員密碼默認保存在/var/lib/jenkins/secrets/initialAdminPassword,我們把密碼復制過來貼到此處就好;
提示:這里我們選擇推薦安裝就好,因為第一次運行,我們也不知道安裝那些插件,后續(xù)如果用到其他插件,我們再安裝即可;
提示:這里我們耐心等待插件全部安裝好;這里安裝插件和本地服務器網(wǎng)絡有關,如果在這一步插件有些沒有安裝成功,可以重試,或者直接到jenkins主頁里面的插件管理里面找到對應的插件,安裝即可;
提示:這里是創(chuàng)建一個管理員帳號,如果我們不想使用默認的admin帳號可以創(chuàng)建一個管理員帳號,當然我們也可以直接使用admin帳號;
提示:這里是填寫訪問jenkins的url地址;保持默認就好;
提示:到此jenkins就安裝好了;我們可以點擊開始使用jenkins,看看jenkins的首頁;
提示:這里有些地方漢化的不是很好,重啟jenkins再登錄jenkins就好了;
好了jenkins首頁就長這樣,到此jenkins的初始化配置就完成了;后續(xù)我們可以在里面用到什么功能再下載相應的插件,配置對應的功能就好;
到此這篇關于持續(xù)集成工具之Jenkins安裝部署的文章就介紹到這了,更多相關持續(xù)集成工具Jenkins內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
火車頭采集正文多圖片如何采集下載(只下載一張圖片的情況該如何處理)
文章采集是站長常常會遇到的事,很多人使用火車頭采集器軟件,采集正文中有多個圖片的時候如果設置錯誤,會遇到只下載一張圖片、采集后的正文多張圖片同一個文件名的情況2023-03-03Keil?uVision5?5.38官方下載、安裝及注冊超詳細圖文教程
這篇文章主要介紹了Keil?uVision5?5.38官方下載、安裝及注冊教程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-03-03Xshell?Plus?6?下載及安裝使用圖文教程(解壓即可使用)
本文分享一波?Xshell?Plus?6?破解版,親測有效,因為是綠色無安裝版本的,下載下來后,解壓即可使用,就可以直接使用了,對Xshell?Plus?6?破解下載圖文教程感興趣的朋友一起看看吧2022-07-07Hadoop框架起步之圖解SSH、免密登錄原理和實現(xiàn)方法
這篇文章主要介紹了Hadoop框架起步之圖解SSH、免密登錄原理和實現(xiàn)方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-07-07使用八爪魚采集器采集滾動加載和點擊加載數(shù)據(jù)的教程
現(xiàn)在很多網(wǎng)站的列表,需要向下滾動頁面,才能加載出新數(shù)據(jù)?;蛘唿c擊“查看更多”加載新數(shù)據(jù)。使用廣泛的火車頭采集器相對無力,使用八爪魚采集器可以采集滾動刷新和點擊刷新。2023-05-05