jenkins的安裝:?
(注意不要使用自定義插件https://www.cnblogs.com/wulixia/p/11009523.html)
簡(jiǎn)單步驟介紹:
環(huán)境準(zhǔn)備:Java和wget
1.下載安裝:
(1)sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
(2)sudo rpm --importhttps://jenkins-ci.org/redhat/jenkins-ci.org.key
(3)sudo yum install jenkins
2.修改jenkins端口:vi /etc/sysconfig/jenkins
3.修改jdk配置:vim /etc/init.d/jenkins
? ? 在文件最后一行添加服務(wù)器的Java安裝路徑
3.啟動(dòng)jenkins:service jenkins restart
4.登錄對(duì)應(yīng)的端口號(hào)和地址,添加新的管理員用戶開始使用
jenkins搭配maven称勋、git實(shí)現(xiàn)自動(dòng)部署發(fā)布
在安裝時(shí)不要使用自定義插件驹吮,選擇“選擇插件來安裝”
漢化插件安裝:(1)安裝插件locale plugin(2)系統(tǒng)管理-->系統(tǒng)設(shè)置-->Locale(3)填入zh_CN
安裝選擇git马绝、gitlab墓赴、maven Integration plugin屯断、publish Over SSH(ssh通道解孙,實(shí)現(xiàn)ssh信息驗(yàn)證回还,以實(shí)現(xiàn)跨服務(wù)器訪問)
配置jenkins的環(huán)境變量
(1)系統(tǒng)管理-->全局工具配置:添加maven、jdk戏蔑、git的配置(建議自己在系統(tǒng)中安裝蹋凝,用系統(tǒng)中的安裝路徑)
(2)系統(tǒng)管理-->系統(tǒng)配置:添加jenkins location和gitlab的對(duì)應(yīng)信息
(3)ssh通道配置
? ? ? ? 系統(tǒng)管理-->系統(tǒng)配置-->Publish over SSH
? ? ? ? 添加對(duì)應(yīng)的passphrase(生成ssh密鑰時(shí)填寫的密碼),path to key對(duì)應(yīng)生成ssh時(shí)的id_rsa文件总棵,key對(duì)應(yīng)id_rsa文件的內(nèi)容
? ? ? ? SSH server:name自定義鳍寂,hostname為拉取jar包或者源碼的服務(wù)器ip,username為登錄服務(wù)器的賬號(hào)名情龄,Remote Directory 為id_rsa的文件存放路徑(如果默認(rèn)的.ssh文件報(bào)錯(cuò)找不到迄汛,可以自定義一個(gè)安裝目錄)
至此候味,jenkins的安裝,插件的添加隔心,jenkins的基本環(huán)境變量配置和ssh通道已經(jīng)添加完成
構(gòu)建自動(dòng)化項(xiàng)目
1.新建任務(wù)-->起一個(gè)項(xiàng)目名白群,選擇構(gòu)建一個(gè)maven項(xiàng)目
2.添加項(xiàng)目配置(gitlab connetion為環(huán)境變量配置的gitlab的選項(xiàng))
?
3.選擇git的獲取地址
4.構(gòu)建觸發(fā)器(記住webhook對(duì)應(yīng)的url,添加git鉤子函數(shù)的時(shí)候需要使用)
5.構(gòu)建項(xiàng)目(項(xiàng)目是jar包的方式發(fā)布硬霍,可以直接package帜慢,war包可以使用install,本質(zhì)上mvn命令內(nèi)容)
6.構(gòu)建后操作唯卖,填寫send build artifacts over SSH粱玲,source files填寫項(xiàng)目jar包文件的名稱,exec command中可以直接使用linux命令(對(duì)shell腳本使用不熟練的小伙伴可以直接使用命令操作)拜轨,完成后點(diǎn)擊應(yīng)用抽减,保存就可以了,至此橄碾,一套可自動(dòng)編譯的項(xiàng)目就完成了【jar包啟動(dòng)和停止的shell腳本命令附下邊】
【簡(jiǎn)單的jar包啟動(dòng)卵沉、重新啟動(dòng)和停止的shell腳本命令】
app='/home/project/****.jar'
args='-Xms2g -Xmx2g -Dspring.profiles.active=prod'
cmd=$1
pid=`ps -ef|grep java|grep $app|awk '{print $2}'`
startup(){
? nohup java -jar $args $app /null &>/dev/null &
}
if [ ! $cmd ]; then
? echo "Please specify args 'start|restart|stop'"
? exit
fi
if [ $cmd == 'start' ]; then
? if [ ! $pid ]; then
? ? startup
? else
? ? echo "$app is running! pid=$pid"
? fi
fi
if [ $cmd == 'restart' ]; then
? if [ $pid ]
? ? then
? ? ? echo "$pid will be killed after 3 seconds!"
? ? ? sleep 3
? ? ? kill -9 $pid
? fi
? startup
fi
if [ $cmd == 'stop' ]; then
? if [ $pid ]; then
? ? echo "$pid will be killed after 3 seconds!"
? ? sleep 3
? ? kill -9 $pid
? fi
? echo "$app is stopped"
fi