Jenkins 自動部署


 

 

一、安裝插件【系統管理 → 插件管理 】

  為了通過SSH上傳war包,我們需要安裝Publish Over SSH 插件。

二、添加SSH 服務器【系統管理→系統設置】

  

 

 

  參數說明:

  Name:ssh server的名字,隨便寫,意義明確,到時候選擇的時候,下拉框顯示的就是這個名字

  HostName:遠程服務器的IP地址,不用帶端口號

  UserName:登陸服務器的用戶名

  Remote Directory:遠程服務器的目錄,用來存放build完的war包,這里填寫tomcat的安裝目錄即可

  Use password authentication, or use a different key:默認是未勾選的,這是登陸服務器的方式,一種是使用用戶名密碼,另外一種是需要在服務器上生成證書key之類的,為了圖方便這里我勾上了。

  Passphrase / Password:填上服務器的密碼即可。

  其他選項保持默認,然后保存。

三、新建項目

  填寫項目名,選擇一種工程類別,我默認選擇了第一個。

 四、配置項目

  點擊進入項目,在右邊的菜單里點擊配置。填寫項目名稱和描述,這些基本的就不說了。

  在源碼管理,選擇代碼的來源,我選擇了Git

  Credentials:選擇一個你在代碼管理網站的用戶,第一次是空的,點擊右邊的ADD,填寫用戶名密碼,就可以選擇了。

  接下來,我認為是最重要的一步。

  在構建環境上勾選第一個和【Send files or execute commands over SSH after the build runs】,然后在Name上選擇之前添加過的SSH server

  接下來,Transfer set,設置文件傳輸時的一些參數。

  Source files:文件源,就是在Jenkins機器上的root/.jenkins/workspace/項目名/,這是根目錄(項目名就是你之前在Jenkins新建的項目),這個根目錄下的war包路徑

        比如:root/.jenkins/workspace/myproject/a/b/c.war,那么Source files填寫a//b/c.war即可。

        那么,我怎么知道我的全路徑是什么呢,大家可以不配構建環境,在上一步的git地址配好以后,直接去build,構建完以后構建的信息里會有相關的路徑輸出。

  Remove prefix:去掉source files的路徑,比如之前是a/b/c.war,那么我如果填寫a/b/,那么最后只會把c.war傳輸到目標文件下面。

  Remote directory:這是war包傳輸到遠程服務器上的路徑,但是由於之前在配置SSH Server的時候已經配置了一個Remote directory(tomcat 安裝目錄),

            所以默認如果不填,那么就是ssh server的目錄,如果填的話,那么就會在ssh server的directory下去查找/生成。

            這里我填寫的是wars,用來存放備份包的地方,你也可以直接填/webapps

     Exec Command:這個是填寫shell命令,在你把war包傳完以后,會去執行這里的命令。

          我這里填寫了一個,sh腳本,放在root下面,war包傳輸完成以后,會去執行這個sh腳本。

 

  sh腳本:

#!/bin/sh
export JAVA_HOME=/usr/java/jdk1.8.0_144
#找到tomcat進程,並殺死
kill -9 $(ps -aef | grep tomcat-admin | grep -v grep | awk '{print $2}')
cd /home/tomcat/tomcat-admin/wars/

#將傳上來的war包拷貝到tomcat的webapps下面
cp -f ROOT.war ../webapps/ROOT.war

#重命名當前(wars下)的包名,作為備份
mv ROOT.war ROOT_`date +%Y%m%d%H%M%S`.war

sleep 5s

#重啟tomcat
cd /home/tomcat/tomcat-admin/bin/
./startup.sh

  

 五、點擊保存,然后回到項目界面,點擊立即構建即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM