標籤:png index git命令 字母 .sh 出錯 tla doc art
jenkins自動化部署 目標:jenkins上點構建(也可以自動檢查代碼變化自動構建)》》》項目部署完成。 一、安裝jenkins1.下載jenkins
這裡我選擇的是war包安裝jenkins,簡單不傷腦,別的部落格寫的jenkins版本都很舊,沒用最新的,寫個比較新的配置2.20版。
官網:https://jenkins.io/index.html
WAR包:http://mirrors.tuna.tsinghua.edu.cn/jenkins/war/2.20/jenkins.war
http://mirrors.tuna.tsinghua.edu.cn/jenkins/war-stable/2.32.3/jenkins.war
2.安裝jdk環境
最新的JDK:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 沒帳號註冊一個,很快的
jdk-8u121-linux-x64.tar.gz
這裡選擇Linux64位尾碼tar.gz的複製下載連結,在伺服器上解壓配置環境變數vim /etc/profile寫在最後面
JAVA_HOME=/data/java/jdk的目錄名字 #java目錄是我建立的,把jdk包解壓到裡面,這個寫解壓位置的絕對路徑
CLASSPATH=$JAVA_HOME/lib/
PATH=$JAVA_HOME/bin:$PATH #謹慎,這裡PATH寫錯了會發現命令都得打絕對路徑才能用,悲催
export PATH JAVA_HOME CLASSPATH
配置沒問題完成儲存,source /etc/profile讓配置的環境變數生效,這時候可以打命令java -version看看版本,是不是出java version "1.8.0_***",如果是1.6什麼的說明沒生效,看看解壓的路徑。
3.安裝tomcat
:http://mirrors.hust.edu.cn/apache/tomcat/tomcat-7/v7.0.75/bin/apache-tomcat-7.0.75.tar.gz
這個什麼版本都可以,別太舊了,舊的會有漏洞,解壓完成試試能不能用,tomcat目錄裡面bin目錄下,./catalina.sh start啟動,訪問一下,不能訪問基本都是防火牆問題,能出現tom貓介面就可以停了,可以./catalina.sh stop,也可以找到進程pid,kill-9 pid號,進到webapps目錄裡面刪除所有,把之前的jenkins.war拷進來,啟動tomcat。我用的8080連接埠訪問地址為http://公網地址:8080/jenkins
在伺服器上面cat /root/.jenkins/secrets/initialAdminPassword會出現讓輸入的密碼,一串數字字母,多等一會到出現下面介面,喝了口水,三分鐘過去了,出現了接下來的介面
這個就是說推薦安裝還是自己選,需要的包後面可以裝,我點了第一個,知道用什麼外掛程式點第二個也可以這樣裝的包少一點。安裝的外掛程式都在/root/.jenkins/plugins/下面。
直接選擇continue as admin
開始使用,點擊就會進來
admin使用者登入還不知道密碼是什麼,我猜是/root/.jenkins/secrets/initialAdminPassword這個裡面的密碼,http://這個地方打ip:8080/jenkins/user/admin/configure修改admin密碼,也可以點系統管理,在裡面找系統管理使用者,點螢幕中上方的admin進去最下面修改密碼儲存。
二、安裝Maven(用來構建項目)
官網地址:http://maven.apache.org/download.cgi
:apache-maven-3.3.9-bin.tar.gz
配置環境變數:vim /etc/profile 寫到最後,我用的3.3.3的版本
export M2_HOME=/data/apache-maven-3.3.3
export M2=$M2_HOME/bin
export PATH=$M2:$PATH
三、安裝git
:https://github.com/git/git/releases
噗,想下載可以下載,然後編譯安裝,git主要是用於jenkins用git命令擷取我們自己搭建的gitlab上面的代碼,我yum install git了,這有個問題還報錯了,一定要看好git可以用的命令絕對路徑在哪裡,yum裝的在/usr/bin/git,你可以試下/usr/bin/git --version,不管是1.7版還是2.3版能用就可以。
四、配置jenkins
jenkins因為配置原因出錯千千萬,一步一報錯,天天有驚喜,下面配置是把坑都填好的。
1.添加外掛程式
選擇可選外掛程式,過濾搜尋
選擇直接安裝也可以,重啟後安裝也可以,用什麼功能搜一下安裝沒,沒安裝裝上就好,我看了已經安裝的,比自己選安裝的安裝的多很多。。。
很多教程都裝Deploy to Container Plugin,這個可以把包從啟動並執行tomcat的項目http地址上直接發到專案服務器的目錄下,windows上我試了可以,linux這個東西沒用它,都是linux伺服器scp過去就好了,windows上麵包發過去了不會寫指令碼,還是shell指令碼簡單。
2.工具配置
jdk別名叫啥都可以,路徑寫對,寫你jdk環境變數配置的路徑,寫錯了會出現ERROR: Failed to parse POMs java.io.IOException: Cannot run program***錯誤
git的地址要寫的是git這個命令的地址不是目錄的地址,yum裝的自然是/usr/bin/git,之前不是yum裝的裝的寫/usr/local/git報錯找不到git命令,在伺服器各種試git都沒問題,看配置以為jenkins看不見呢,裝了好幾個版本的jenkins,找了N久才找到應該寫/usr/local/git/bin/git
寫完儲存就好,接下來系統配置
3.系統配置
這個配置費勁九牛二虎之力,在N次報錯後遍尋錯誤無解時候,在系統提供的英文文檔裡面偶然看到其中一個回答,好長好長看到其中一句,試了試竟然成功了,沃德天!
五、構建項目
點擊建立,出現,名字隨便起,選擇構建一個maven項目
串連git,我們是自己搭的gitlab,需要在gitlab上搜尋ssh或者key,找到一個ssh keys字樣的,把jenkins伺服器的公開金鑰放在上面,另外
這個裡面添加一個jenkins伺服器root使用者的私密金鑰
發現gitlab伺服器的私密金鑰也可以,估計是因為gitlab頁面上也放了gitlab的公開金鑰,看來配對的公私密金鑰就可以,有興趣的可以試試。
選擇這個這裡面可以寫指令碼,我下面寫這個相當於指令碼裡的命令去遠程執行另一個指令碼
寫完好久了,今天jenkins做了一個遷移,完善前面的,把後面的再補上
,後面的功能都是用指令碼寫的,jenkins和org互相做了免密登入,在jenkins上可以直接用/usr/bin/ssh [email protected]的ip "要執行的命令"
/bin/bash /dat****/org.sh 在org上執行這個指令碼
過程:jenkins調用git把Gitlab上的代碼下載到jenkins伺服器,maven構建成war包,調用ssh運行shell指令碼完成備份,停服務,清webapps,拷war包到tomcat下,起服務,說起來好簡單啊。。。
自己摸索著搭,各種找錯誤,搭了兩星期才搭好,今天遷到別的伺服器上幾個小時就搞定了,經過幾個月的使用,jenkins確實是自動化的利器,寫好指令碼一鍵搞定
Linux下的Jenkins+Tomcat+Maven+Gitlab+Shell環境的搭建使用(jenkins自動化部署)