介紹
構(gòu)建偉大垫竞,無所不能 -- Jenkins
Jenkins是開源CI&CD軟件領(lǐng)導(dǎo)者缓屠, 提供超過1000個插件來支持構(gòu)建畜普、部署期丰、自動化, 滿足任何項目的需要。
最近入職新公司钝荡,出于項目需要街立,亟需搭建一套CI&CD的環(huán)境。雖然在之前公司也搭建過Jenkins的環(huán)境埠通,但是由于公司背景不同赎离,我們在服務(wù)器上的權(quán)限很低,搭建過程異常艱辛端辱。 現(xiàn)在梁剔,且看擁有絕對權(quán)限的男人是如何搭建Jenkins的。
環(huán)境
Jenkins
Server: ubuntu 18
構(gòu)建Server: ubuntu 18
詳細教程
第1步 - 安裝JDK1.8
oracle官網(wǎng)下載壓縮包舞蔽,點擊鏈接荣病。
2.解壓
? 1?tar -zxvf jdk-8u171-linux-x64.tar.gz
?3.移動到制定目錄
1##將文件從下載目錄 挪到/usr/local下2sudo mv jdk1.8.0_171? /usr/local/jdk1.8
4.設(shè)置環(huán)境變量
<code>vim /etc/profile</code>
在文件末尾加入
1export JAVA_HOME=/usr/local/jdk1.82export JRE_HOME=${JAVA_HOME}/jre3export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib4export PATH=.:${JAVA_HOME}/bin:$PATH
如果顯示無法保存修改命令
1sudo vim /etc/profile
5.使配置生效
1source /etc/profile
6.檢查是否生效
1?java -version
第2步 - 安裝Jenkins
包含在默認Ubuntu軟件包中的Jenkins版本往往落后于項目本身的最新版本。 為了利用最新的修復(fù)和功能渗柿,我們將使用項目維護的軟件包來安裝Jenkins众雷。
首先,我們將存儲庫密鑰添加到系統(tǒng)做祝。
wget-q-O-https://pkg.jenkins.io/debian/jenkins-ci.org.key|sudo apt-key add-
添加密鑰后砾省,系統(tǒng)將返回OK。 接下來混槐,我們將Debian包存儲庫地址附加到服務(wù)器的sources.list:
echodeb http://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list
當(dāng)這兩個都到位時编兄,我們將運行update,以便apt-get將使用新的存儲庫:
sudo apt-getupdate
最后声登,我們將安裝Jenkins及其依賴項狠鸳,包括Java:
sudo apt-getinstall jenkins
以上安裝不成功的朋友,是由于Jenkins官網(wǎng)的校驗碼出現(xiàn)了問題悯嗓。
指定早期版本可以安裝件舵。
sudo apt-getinstall jenkins=2.138.1
現(xiàn)在Jenkins及其依賴項已經(jīng)到位,我們將啟動Jenkins服務(wù)器脯厨。
第2步 - 開始Jenkins
使用systemctl我們將啟動Jenkins:
sudo systemctl start jenkins
由于systemctl不顯示輸出铅祸,我們將使用其status命令來驗證它是否成功啟動:
sudo systemctl status jenkins
如果一切順利,輸出的開始應(yīng)顯示服務(wù)處于活動狀態(tài)合武,并配置為啟動時啟動:
● jenkins.service-LSB:Start Jenkins at boot time? Loaded:loaded(/etc/init.d/jenkins;bad;vendor preset:enabled)Active:active(exited)since Thu2017-04-2016:51:13UTC;2min7s ago? ? Docs:man:systemd-sysv-generator(8)
現(xiàn)在Jenkins正在運行临梗,我們將調(diào)整防火墻規(guī)則,以便我們可以從網(wǎng)絡(luò)瀏覽器到達Jenkins以完成初始設(shè)置稼跳。
第3步 - 打開防火墻
默認情況下盟庞,Jenkins在端口8080上運行,因此我們將使用ufw打開該端口:
sudo ufw allow 8080
檢查UFW的狀態(tài)可以看到新的規(guī)則汤善。
sudo ufw status
我們應(yīng)該看到什猖,從任何地方都可以訪問8080端口:
Status:activeTo? ? ? ? ? ? ? ? ? ? ? ? Action? ? ? From------------OpenSSH? ? ? ? ? ? ? ? ? ? ALLOW? ? ? Anywhere8080ALLOW? ? ? AnywhereOpenSSH(v6)ALLOWAnywhere(v6)8080(v6)ALLOWAnywhere(v6)
現(xiàn)在票彪,Jenkins已安裝,防火墻允許我們訪問它不狮,我們可以完成初始設(shè)置降铸。
第3步 - 設(shè)置Jenkins
要設(shè)置我們的安裝,我們將使用服務(wù)器域名或IP地址訪問Jenkins的默認端口8080:http:// ip_address_or_domain_name :8080
我們應(yīng)該看到“解鎖Jenkins”屏幕荤傲,顯示初始密碼的位置
在終端窗口中垮耳,我們將使用cat命令顯示密碼:
sudo cat/var/lib/jenkins/secrets/initialAdminPassword
我們將從終端復(fù)制32個字符的字母數(shù)字密碼,并將其粘貼到“管理員密碼”字段中遂黍,然后單擊“繼續(xù)”终佛。 下一個屏幕提供安裝建議的插件或選擇特定插件的選項。
圖片.png
我們將點擊“安裝建議的插件”選項雾家,這將立即開始安裝過程:
在此界面可能出現(xiàn)實例已下線的提示铃彰,如果插件無法安裝請參考下面的步驟:
修改/var/lib/jenkins/updates/default.json
jenkins在下載插件之前會先檢查網(wǎng)絡(luò)連接,其會讀取這個文件中的網(wǎng)址芯咧。默認是:
訪問谷歌牙捉,這就很坑了,服務(wù)器網(wǎng)絡(luò)又不能FQ敬飒,肯定監(jiān)測失敗呀邪铲,不得不說jenkins的開發(fā)者腦子銹了,所以將圖下的google改為www.baidu.com即可无拗,更改完重啟服務(wù)带到。
2)??? 修改/var/lib/jenkins/hudson.model.UpdateCenter.xml
該文件為jenkins下載插件的源地址,改地址默認jenkins默認為:https://updates.jenkins.io/update-center.json英染,就是因為https的問題揽惹,此處我們將其改為http即可,之后重啟jenkins服務(wù)即可四康。
其他國內(nèi)備用地址(也可以選擇使用):
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
http://mirror.esuni.jp/jenkins/updates/update-center.json
安裝完成后搪搏,系統(tǒng)將提示您設(shè)置第一個管理用戶。 可以跳過此步驟闪金,并使用上面使用的初始密碼作為admin繼續(xù)疯溺,但是我們將花一點時間創(chuàng)建用戶。
注意:默認Jenkins服務(wù)器未加密毕泌,因此使用此表單提交的數(shù)據(jù)不受保護喝检。 當(dāng)您準備好使用此安裝時,請按照指南如何使用Nginx反向代理將SSL配置為Jenkins撼泛。 這將保護用戶憑據(jù)和關(guān)于通過Web界面發(fā)送的構(gòu)建的信息。
圖片.png
一旦第一個管理員用戶到位澡谭,你應(yīng)該看到一個“Jenkins準備好了愿题!” 確認屏幕损俭。
圖片.png
點擊“開始使用Jenkins”來訪問主要的Jenkins儀表板:
查看
sudo netstat -plntu
此時,Jenkins已經(jīng)成功安裝潘酗。
默認端口是8080杆兵,有時候由于端口占用需要修改如下:
1,檢查 /etc/init.d/jenkins 腳本仔夺,修改 do_start 函數(shù)的 check_tcp_port 命令琐脏,端口號從 8080 換成 8082:
2,修改 /etc/default/jenkins 文件缸兔,將端口 8080 改成 8082
3日裙,重啟Jenkins
sudo systemctl restart jenkins