Jenkins自動化部署
提示:本教程基于CentOS Linux 7系統(tǒng)下進(jìn)行
Jenkins的安裝
1. 下載安裝jdk11
官網(wǎng)下載地址:https://www.oracle.com/cn/java/technologies/javase/jdk11-archive-downloads.html
本文檔教程選擇的是jdk-11.0.20_linux-x64_bin.tar.gz
解壓jdk-11.0.20_linux-x64_bin.tar.gz命令為:
tar -zxvf jdk-11.0.20_linux-x64_bin.tar.gz
2. 下載Jenkins的war包
官網(wǎng)下載地址:https://mirrors.tuna.tsinghua.edu.cn/jenkins/war-stable/2.414.3/jenkins.war
3. 準(zhǔn)備Jenkins啟動腳本
編寫一個(gè)Jenkins的啟動腳本,簡化之后每次啟動都要敲命令;
將Jenkins的訪問端口設(shè)置為3001;(可以根據(jù)自己需求設(shè)置端口)
創(chuàng)建startup.sh腳本
vim /usr/local/tools/jenkins/startup.sh
startup.sh腳本
#!/bin/bash
nohup /usr/local/tools/jdk-11.0.20/bin/java -jar /usr/local/tools/jenkins/jenkins.war --httpPort=3001 >/dev/null 2>&1 &
使腳本具有執(zhí)行權(quán)限
chmod +x /usr/local/tools/jenkins/startup.sh
4. 啟動Jenkins
執(zhí)行如下命令即可
./startup.sh
初次啟動Jenkins,系統(tǒng)會要求使用其自動生成的密碼進(jìn)行解鎖,初始密碼在**/root/.jenkins/secrets/initialAdminPassword**文件中,啟動時(shí)的日志里也有打印出來;
5. 訪問并解鎖Jenkins
訪問http://IP:3001,等待解鎖Jenkins頁面出現(xiàn),就是Unlock Jenkins頁面,在Administrator password下的輸入框輸入你的啟動Jenkins時(shí)獲取的臨時(shí)密碼即可
Jenkins的基礎(chǔ)配置與插件安裝
1. 基礎(chǔ)插件安裝
Dashboard–>系統(tǒng)管理(Manage Jenkins)–>插件管理(Plugins)–>Avaliable Plugins
安裝基礎(chǔ)插件SSH server、Publish Over SSH、NodeJS Plugin、Maven Integration plugin、Git plugin、Git client plugin;
下載插件后會提示要重啟,自動重啟后就會生效
2. 配置項(xiàng)目運(yùn)行所需的Jdk8環(huán)境
-
官網(wǎng)下載地址:https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html
本項(xiàng)目運(yùn)行選擇的是jdk-8u301-linux-x64.tar.gz
可與之前Jenkins運(yùn)行所需的jdk11放一起
解壓命令為
tar -zxvf jdk-8u301-linux-x64.tar.gz
-
Jenkins配置JDK
Dashboard–>系統(tǒng)管理(Manage Jenkins)–>全局工具配置(Tools)–>JDK安裝
新增JDK,JAVA_HOME配置jdk8的路徑
3. 配置Jenkins自動拉取代碼所需的Git工具
-
Jenkins所在服務(wù)器上安裝Git
安裝命令
sudo yum install -y git
查看git版本命令
git --version
安裝git的可執(zhí)行文件默認(rèn)路徑為
/usr/bin/git
-
Jenkins上配置Git
Dashboard–>系統(tǒng)管理(Manage Jenkins)–>全局工具配置(Tools)–>Git installations
4. Maven安裝
Dashboard–>系統(tǒng)管理(Manage Jenkins)–>全局工具配置(Tools)–>Git installations
選擇自己需要的maven版本即可,勾選自動安裝
5. 配置Publish over SSH
-
生成SSH密鑰
先在Jenkins所在的服務(wù)器上生成ssh密鑰,注意是Jenkins所在的服務(wù)器,命令如下:
ssh-keygen -t rsa -P ''
然后一路回車鍵,接受默認(rèn)文件位置和文件名,為了方便也不使用密碼短語
# 整個(gè)交互過程 [root@VM-20-12-centos tools]# ssh-keygen -t rsa -P '' Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Created directory '/root/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:RpNQDtJe92E5qovCrKhoO4CiN4Jn0Y3LT6SPbTKFg4E The key's randomart image is: +---[RSA 4096]----+ | ..o.. . | | ..+... = | | . . .=. + o | |E . .. .. . | |. + +. S. | |+ o =oo.. | |= =.+.. . | |=+= O=o . | |**+o.*+ | +----[SHA256]-----+ [root@VM-20-12-centos tools]#
-
上傳公鑰
將生成的SSH密鑰對里的公鑰文件上傳到j(luò)ar包服務(wù)所需要運(yùn)行的服務(wù)器,后面需要Jenkins自動將編譯好的jar包上傳到這臺服務(wù)器上。
cd ~ ls .ssh/ ssh-copy-id -i .ssh/id_rsa.pub 服務(wù)器IP地址
整個(gè)命令的作用是將本地計(jì)算機(jī)的公鑰文件復(fù)制到遠(yuǎn)程主機(jī)上的
authorized_keys
文件中,從而實(shí)現(xiàn)無密碼登錄; -
驗(yàn)證是否可以無密碼登錄遠(yuǎn)程
ssh root@服務(wù)器IP地址
-
在Jenkins上配置Publish over SSH
Dashboard–>系統(tǒng)管理(Manage Jenkins)–>系統(tǒng)配置(System)–>Publish over SSH
環(huán)境準(zhǔn)備完畢!
自動部署Maven項(xiàng)目
1. 創(chuàng)建一個(gè)Maven任務(wù)
2. 配置General
丟棄舊的構(gòu)建核心意思就是將舊的jar包扔掉,如果有打算回滾服務(wù)到很多個(gè)版本之前,這里的“保持構(gòu)建的最大個(gè)數(shù)”就得設(shè)置大一點(diǎn)。一般也就保留3~5個(gè)。
3. 源碼管理配置
添加git訪問憑據(jù),例:
4. 構(gòu)建觸發(fā)器配置
構(gòu)建觸發(fā)器:就是什么時(shí)候觸發(fā)自動部署這個(gè)操作;
一般只用定時(shí)構(gòu)建和輪詢PCM;
定時(shí)構(gòu)建:根據(jù)設(shè)置的日程表(類似于Cron),去定時(shí)自動拉取代碼、編譯打包、上傳服務(wù)器、運(yùn)行;
輪詢PCM:如果git倉庫代碼有變動,就自動拉取代碼、編譯打包、上傳服務(wù)器、運(yùn)行;
因?yàn)槭菧y試,所以此處用的是默認(rèn)配置;
5. 構(gòu)建環(huán)境配置
選擇我們在之前在Dashboard-->系統(tǒng)管理(Manage Jenkins)-->全局工具配置(Tools)-->JDK安裝
里配置JDK8即可;
6. 編譯打包配置
7. 服務(wù)上傳運(yùn)行配置
jar包運(yùn)行腳本
source /etc/profile
cd /data/mall/test
ps -ef|grep test-0.0.1-SNAPSHOT.jar|grep -v grep|awk '{print $2}'|xargs kill -s 9
BUILD_ID=dontKillMe
nohup java -jar test-0.0.1-SNAPSHOT.jar > nohup.out 2>&1 &
test項(xiàng)目的目錄結(jié)構(gòu)
8. 配置完成,立即構(gòu)建
9. 查看驗(yàn)證
前往jar包運(yùn)行的服務(wù)器進(jìn)行測試驗(yàn)證
文章來源:http://www.zghlxwxcb.cn/news/detail-757857.html
驗(yàn)證自動部署成功!文章來源地址http://www.zghlxwxcb.cn/news/detail-757857.html
到了這里,關(guān)于詳細(xì)步驟記錄:持續(xù)集成Jenkins自動化部署一個(gè)Maven項(xiàng)目的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!