1、安裝jdk8
檢查是否安裝了jdk
java -version
如果出現(xiàn)版本提示則說明安裝了,沒有則需要進(jìn)行安裝
注意 安裝jdk1.8版本,親測jdk7、10會(huì)導(dǎo)致失敻镂(當(dāng)前版本[Jenkins ver. 2.131])
安裝jdk
由于在服務(wù)器中下載包極其挫折(并且不想安裝 openSDK ),直接到官網(wǎng)下載安裝包(tar.gz)舵鳞,傳到服務(wù)器上某路徑下震檩。
cd到該路徑下解壓
tar -xzvf xxx.tar.gz
#(xxx為你下載的文件名)
配置環(huán)境變量
vi /etc/profile
在文件底部中添加
# set java environment
JAVA_HOME=/usr/java/jdk1.8.0_171 JRE_HOME=$JAVA_HOME/jre CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin export JAVA_HOME JRE_HOME CLASS_PATH PATHT
其中,/usr/java/jdk1.8.0_171 是我解壓后的文件地址蜓堕,根據(jù)自己實(shí)際情況而定
使配置文件生效
source /etc/profile
2抛虏、安裝jenkins
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
yum install jenkins
3、修改配置
vi /etc/sysconfig/jenkins
配置文件中找到以下兩項(xiàng)套才,根據(jù)實(shí)際情況進(jìn)行修改
JENKINS_USER="jenkins" 自動(dòng)創(chuàng)建一個(gè)jenkins用戶
JENKINS_PORT="8080" 服務(wù)啟動(dòng)默認(rèn)端口
4迂猴、配置java路徑
查詢java路徑,如果which查不到自行尋找路徑
which java
查詢java路徑背伴,記下
打開配置文件
vi /etc/init.d/jenkins
找到配置塊如下沸毁,查看是否存在本機(jī)的java路徑,如沒有傻寂,添加上息尺。
candidates="
/etc/alternatives/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/lib/jvm/java-1.7.0/bin/java
/usr/lib/jvm/jre-1.7.0/bin/java
/usr/bin/java
"
5、啟動(dòng)和關(guān)閉
啟動(dòng)
sudo service jenkins start
關(guān)閉
sudo service jenkins stop
若提示 Warning: jenkins.service changed on disk. Run 'systemctl daemon-reload' to reload units.
則執(zhí)行
systemctl daemon-reload
后重新啟動(dòng)
sudo service jenkins start
在瀏覽器輸入 服務(wù)器ip地址:服務(wù)端口號
如 10.51.38:8080 (默認(rèn) 8080)
若無法打開網(wǎng)頁疾掰,請檢查上述配置的端口號是否輸入正確搂誉,以及jdk是否為jdk8(1.8)
根據(jù)指引找到密碼登錄,后選擇默認(rèn)插件安裝静檬,等待安裝完成后炭懊,創(chuàng)建賬戶。
歡迎界面
完成賬戶創(chuàng)建后即可進(jìn)入到歡迎界面
推薦插件
文件推送遠(yuǎn)程服務(wù)器插件(重要): Publish Over SSH
SVN插件: SVN Publisher plugin
Maven插件: Maven Integration plugin (Maven集成凛虽,否則新建的時(shí)候沒有Maven Project)
插件安裝方法: 系統(tǒng)管理/插件管理/可選插件 ,搜索插件進(jìn)行安裝即可
6、實(shí)戰(zhàn)演練
這里我們以前端項(xiàng)目為例广恢。(先安裝好node以及相關(guān)的環(huán)境)
我們的需求是點(diǎn)擊"開始構(gòu)建"項(xiàng)目后:
1、自動(dòng)從git上把項(xiàng)目下載呀潭、pull下來
2钉迷、進(jìn)行依賴檢查安裝
3、執(zhí)行項(xiàng)目編譯
4钠署、把編譯出來的文件包壓縮糠聪,發(fā)送到遠(yuǎn)程服務(wù)器
5、在遠(yuǎn)程服務(wù)器上解壓文件谐鼎,部署到相應(yīng)位置舰蟆;同時(shí)把前一個(gè)項(xiàng)目包進(jìn)行備份
配置遠(yuǎn)程服務(wù)器
由于要把包發(fā)送到遠(yuǎn)程服務(wù)器,所以先把相應(yīng)的遠(yuǎn)程服務(wù)器配置好
系統(tǒng)管理/系統(tǒng)設(shè)置 ,頁面查找 “Publish Over SSH”身害,找到配置頁面
公共的配置:
(提前配置好服務(wù)器之間的ssh免密登錄)
*Passphrase:密碼(key的密碼味悄,如果你設(shè)置了)
Path to key:key文件(私鑰)的路徑
Key:講私鑰復(fù)制進(jìn)來
私有配置
私有配置:
SSH Server Name:標(biāo)識的名字 (自行取名)
Hostname:需要連接ssh的主機(jī)名或ip地址
Username:用戶名
Remote Directory:遠(yuǎn)程目錄
Use password authentication, or use a different key:可以替換公共配置(選中展開的就是公共配置的東西,這樣做擴(kuò)展性很好)
私有配置的高級:
Port:端口(默認(rèn)22)
Timeout (ms):超時(shí)時(shí)間(毫秒)默認(rèn)即可
Disable exec:禁止運(yùn)行命令
Test Configuration:測試連接
配置完成后點(diǎn)擊 “test Configuration”進(jìn)行測試塌鸯,成功即可侍瑟。
創(chuàng)建新任務(wù)
這里主要配置重要項(xiàng),其他項(xiàng)自行選擇
配置源碼管理
這里在 Repository URL 填寫git 項(xiàng)目地址丙猬,涉及到服務(wù)器驗(yàn)證的話做好ssh免登錄即可無需選擇憑證涨颜,或者選擇選擇相應(yīng)的驗(yàn)證方式。如果驗(yàn)證沒通過茧球,輸入地址后幾秒庭瑰,頁面即會(huì)報(bào)錯(cuò)提示。
Branch Specifier (blank for 'any') 為分支選擇
構(gòu)建
在構(gòu)建中輸入要執(zhí)行的shell腳本抢埋,值得注意的是 首行要加入 “source /etc/profile” 弹灭,以載入環(huán)境變量,不然會(huì)出現(xiàn) cnpm 命令找不到的情況羹令。
source /etc/profile
cnpm I
cnpm run buildxhtest
echo "完成構(gòu)建"
至此鲤屡,已經(jīng)完成了需求的1、2福侈、3點(diǎn)
構(gòu)建后操作
構(gòu)建完成后酒来,我們還需要把文件包壓縮發(fā)送至遠(yuǎn)程服務(wù)器。
點(diǎn)擊增加構(gòu)建步驟肪凛,選擇 Send build artifacts over SSH
Name: 遠(yuǎn)程服務(wù)器
Source files: 包的路徑堰汉,相對路徑
Remove prefix: 需要移除前綴路徑, 如果包的路徑為 demo/a.jar,如果此項(xiàng)為空伟墙,則發(fā)到服務(wù)器則為/root/demo/a.jar翘鸭, 如果移除前綴路徑為 demo/,則服務(wù)器路徑為/root/a.jar
Remote directory: 上傳到遠(yuǎn)程服務(wù)器的目錄戳葵, 注意這是一個(gè)相對路徑就乓, 根目錄取決于你的SSH Service配置
Exec command:上傳完成后需要執(zhí)行的命令(注意,根目錄是當(dāng)前用戶目錄)
比如拱烁,當(dāng)前我要把打包壓縮好的 dist.tar.gz 文件發(fā)送到遠(yuǎn)程服務(wù)器上的 /home/jenkins_test 路徑下, 而在配置該遠(yuǎn)程服務(wù)器時(shí)默認(rèn)目錄為 /home生蚁,所以,
Source files : dist.tar.gz
Remove prefix:
Remote directory: jenkins_test
為了不出現(xiàn)意想不到的路徑錯(cuò)誤戏自,shell腳本里直接指定絕對路徑邦投。
cd /home/jenkins_test
要實(shí)現(xiàn)需求4、5擅笔,shell腳本如下:
# 這里還是用戶目錄
cd /home/jenkins_test
# 創(chuàng)建文件夾
curDate=$(date "+%Y-%m-%d-%H-%M-%S")
mkdir web_history/$curDate
# 刪除原有的dist
rm -f -r dist
# 解壓dist
tar vxf dist.tar.gz
# 把歷史版本存起來
cp dist/index.html web_history/$curDate/index.html
cp -r dist/static web_history/$curDate/static
# 刪除歷史版本
rm -r -f static
rm -f index.html
# 把新的文件放入目錄
cp -r dist/static static
cp dist/index.html index.html
echo "成功志衣!"
配置好以上后屯援,點(diǎn)擊保存。
在項(xiàng)目界面點(diǎn)擊 立即構(gòu)建 念脯,即可開始構(gòu)建項(xiàng)目
查看控制臺輸出
在構(gòu)建的過程中狞洋,可以點(diǎn)擊任務(wù)查看檔次任務(wù)詳情,控制臺輸出
在控制臺中查看運(yùn)行狀態(tài)和二。