jenkins自動(dòng)化部署目標(biāo):jenkins上點(diǎn)構(gòu)建(也可以自動(dòng)檢查代碼變化自動(dòng)構(gòu)建)》》》項(xiàng)目部署完成。一、安裝jenkins1.下載jenkins這里我選擇的是war包安裝jenkins,簡(jiǎn)單不傷腦,別的博客寫(xiě)的jenkins版本都很舊,沒(méi)用最新的,寫(xiě)個(gè)比較新的配置2.20版。 官網(wǎng):https:///index.html WAR包下載地址:之前兩個(gè)鏈接已經(jīng)失效 可在http://mirrors.tuna./jenkins/war選擇要下的jenkins包 或http://archives./war/2.2/jenkins.war下載 2.安裝jdk環(huán)境最新的JDK下載地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 沒(méi)賬號(hào)注冊(cè)一個(gè),很快的 前版本的JDK下載地址:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html jdk-8u121-linux-x64.tar.gz JAVA_HOME=/data/java/jdk的目錄名字 #java目錄是我創(chuàng)建的,把jdk包解壓到里面,這個(gè)寫(xiě)解壓位置的絕對(duì)路徑 配置沒(méi)問(wèn)題完成保存,source /etc/profile讓配置的環(huán)境變量生效,這時(shí)候可以打命令java -version看看版本,是不是出java version "1.8.0_***",如果是1.6什么的說(shuō)明沒(méi)生效,看看解壓的路徑。 3.安裝tomcat下載地址:http://mirrors./apache/tomcat 選擇tomcat進(jìn)行下載 這個(gè)什么版本都可以,別太舊了,舊的會(huì)有漏洞,解壓完成試試能不能用,tomcat目錄里面bin目錄下,./catalina.sh start啟動(dòng),訪問(wèn)一下,不能訪問(wèn)基本都是防火墻問(wèn)題,能出現(xiàn)tom貓界面就可以停了,可以./catalina.sh stop,也可以找到進(jìn)程pid,kill -9 pid號(hào),進(jìn)到webapps目錄里面刪除所有,把之前的jenkins.war拷進(jìn)來(lái),啟動(dòng)tomcat。我用的8080端口訪問(wèn)地址為http://公網(wǎng)地址:8080/jenkins
在服務(wù)器上面cat /root/.jenkins/secrets/initialAdminPassword會(huì)出現(xiàn)讓輸入的密碼,一串?dāng)?shù)字字母,多等一會(huì)到出現(xiàn)下面界面,喝了口水,三分鐘過(guò)去了,出現(xiàn)了接下來(lái)的界面
這個(gè)就是說(shuō)推薦安裝還是自己選,需要的包后面可以裝,我點(diǎn)了第一個(gè),知道用什么插件點(diǎn)第二個(gè)也可以這樣裝的包少一點(diǎn)。安裝的插件都在/root/.jenkins/plugins/下面。
開(kāi)始使用,點(diǎn)擊就會(huì)進(jìn)來(lái) 如果沒(méi)有設(shè)置用戶進(jìn)入,admin用戶登錄還不知道密碼是什么,是/root/.jenkins/secrets/initialAdminPassword這個(gè)里面的密碼,http://這個(gè)地方打ip:8080/jenkins/user/admin/configure修改admin密碼,也可以點(diǎn)系統(tǒng)管理,在里面找管理用戶,點(diǎn)屏幕中上方的admin進(jìn)去最下面修改密碼保存。 二、安裝Maven(用來(lái)構(gòu)建項(xiàng)目)官網(wǎng)地址:http://maven./download.cgi 下載地址:apache-maven-3.3.9-bin.tar.gz 配置環(huán)境變量:vim /etc/profile 寫(xiě)到最后,我用的3.3.3的版本 export M2_HOME=/data/apache-maven-3.3.3 三、安裝git下載地址:https://github.com/git/git/releases 下載地址想下載可以下載,然后編譯安裝,git主要是用于jenkins用git命令獲取我們自己搭建的gitlab上面的代碼,yum install git的話,是跟下圖配置一樣,一定要看好git可以用的命令絕對(duì)路徑在哪里,源碼安裝有的的是在/usr/local/git/bin/git,如果寫(xiě)到/usr/local/git會(huì)報(bào)錯(cuò),你可以試下/usr/local/git/bin/git --version,要有返回值。 四、配置jenkinsjenkins因?yàn)榕渲迷虺鲥e(cuò)千千萬(wàn),一步一報(bào)錯(cuò),天天有驚喜,下面配置是把坑都填好的。
1.添加插件
選擇可選插件,過(guò)濾搜索,git plugin 插件如果按教程來(lái)推薦安裝已經(jīng)安裝了,裝后面?zhèn)z就好
選擇直接安裝也可以,重啟后安裝也可以,用什么功能搜一下安裝沒(méi),沒(méi)安裝裝上就好,我看了已經(jīng)安裝的,比自己選安裝的安裝的多很多。。。 很多教程都裝Deploy to Container Plugin,這個(gè)可以把包從運(yùn)行的tomcat的項(xiàng)目http地址上直接發(fā)到項(xiàng)目服務(wù)器的目錄下,windows上我試了可以,linux這個(gè)東西沒(méi)用它,都是linux服務(wù)器scp過(guò)去就好了,windows上面包發(fā)過(guò)去了不會(huì)寫(xiě)腳本,還是shell腳本簡(jiǎn)單。 2.工具配置
jdk別名叫啥都可以,路徑寫(xiě)對(duì),寫(xiě)你jdk環(huán)境變量配置的路徑,寫(xiě)錯(cuò)了會(huì)出現(xiàn)ERROR: Failed to parse POMs java.io.IOException: Cannot run program***錯(cuò)誤
git的地址要寫(xiě)的是git這個(gè)命令的地址不是目錄的地址,yum裝的自然是/usr/bin/git,之前不是yum裝的裝的寫(xiě)/usr/local/git報(bào)錯(cuò)找不到git命令,在服務(wù)器各種試git都沒(méi)問(wèn)題,看配置以為jenkins看不見(jiàn)呢,裝了好幾個(gè)版本的jenkins,找了N久才找到應(yīng)該寫(xiě)/usr/local/git/bin/git
寫(xiě)完保存就好,接下來(lái)系統(tǒng)配置 3.系統(tǒng)配置
這個(gè)沒(méi)有話看一下上面的插件,沒(méi)安裝maven的插件就沒(méi)有這個(gè)配置
這個(gè)配置費(fèi)勁九牛二虎之力,在N次報(bào)錯(cuò)后遍尋錯(cuò)誤無(wú)解時(shí)候,在系統(tǒng)提供的英文文檔里面偶然看到其中一個(gè)回答,好長(zhǎng)好長(zhǎng)看到其中一句,試了試竟然成功了,沃德天! 五、構(gòu)建項(xiàng)目點(diǎn)擊新建,出現(xiàn)下圖,名字隨便起,選擇構(gòu)建一個(gè)maven項(xiàng)目
連接git,我們是自己搭的gitlab(gitlab安裝中文版),需要在gitlab上搜索ssh或者key,找到一個(gè)ssh keys字樣的,把jenkins服務(wù)器的公鑰放在上面,另外
這個(gè)里面添加一個(gè)jenkins服務(wù)器root用戶的私鑰,添加不了的話按下面的添加也可以
發(fā)現(xiàn)gitlab服務(wù)器的私鑰也可以,估計(jì)是因?yàn)間itlab頁(yè)面上也放了gitlab的公鑰,看來(lái)配對(duì)的公私鑰就可以,有興趣的可以試試。
選擇這個(gè)這里面可以寫(xiě)腳本,我下面寫(xiě)這個(gè)相當(dāng)于腳本里的命令去遠(yuǎn)程執(zhí)行另一個(gè)腳本 寫(xiě)完好久了,今天jenkins做了一個(gè)遷移,完善前面的,把后面的再補(bǔ)上
如圖,后面的功能都是用腳本寫(xiě)的,jenkins和org互相做了免密登錄,在jenkins上可以直接用/usr/bin/ssh root@org的ip "要執(zhí)行的命令" /bin/bash /dat****/org.sh 在org上執(zhí)行這個(gè)腳本 過(guò)程:jenkins調(diào)用git把Gitlab上的代碼下載到j(luò)enkins服務(wù)器,maven構(gòu)建成war包,調(diào)用ssh運(yùn)行shell腳本完成備份,停服務(wù),清webapps,拷war包到tomcat下,起服務(wù),說(shuō)起來(lái)好簡(jiǎn)單啊。。。自己摸索著搭,各種找錯(cuò)誤,搭了兩星期才搭好,今天遷到別的服務(wù)器上幾個(gè)小時(shí)就搞定了,經(jīng)過(guò)幾個(gè)月的使用,jenkins確實(shí)是自動(dòng)化的利器,寫(xiě)好腳本一鍵搞定 看完基本就熟悉jenkins了,實(shí)踐出真知,還是自己做一遍試試。 2018-04-17更新: *** 應(yīng)評(píng)論要求把shell腳本貼出來(lái),不貼是因?yàn)閷?xiě)的low,希望大家指點(diǎn)(rm命令前面加了#小心使用)*** #!/bin/bash #引入了系統(tǒng)環(huán)境變量,這樣系統(tǒng)環(huán)境變量里面沒(méi)有export聲明的也可以用 source /etc/profile sj=`date +%m-%d-%H%M` #開(kāi)始先打印個(gè)時(shí)間到日志 echo `date` >> /tmp/xxx.log #備份一下當(dāng)前的項(xiàng)目,名字用xxx代替 tar -zcPf /data/bf/xxx_ROOT_$sj.tar.gz /data/xxx_tomcat/webapps/ROOT >>/dev/null echo "tomcat備份成功,開(kāi)始拷war包" >> /tmp/xxx.log #在/data/bf里面處理完再放到tomcat下,感覺(jué)停服務(wù)的時(shí)間短一些 #rm -rf /data/bf/ROOT/* #下面咋變綠了。。。。
|
|
|
來(lái)自: huowufenghuang > 《測(cè)試》