花30分鐘,用Jenkins部署碼雲上的SpringBoot項目

本文做者:dalaoyang   java

連接:juejin.im/post/5be1a485f265da612859974cgit


福利:分享一個很是美觀的 Springboot 我的博客系統【源碼+視頻】spring

持續交付的概念,相信大家都聽過,jenkins鼎鼎大名,這個工具真是太方便了,特別是配置了自動化構建和部署以後,不論是對測試,仍是對運維都幫助特別大。你懂得怎麼自動化部署一個springboot項目嗎,來跟着走一遍吧!shell


本文介紹 jenkins 如何從 gitee 上 clone 項目,而後使用 maven 打包並後臺啓動。apache

1.Jenkins 介紹

Jenkins 是一個開源軟件項目,是基於 Java 開發的一種持續集成工具,用於監控持續重複的工做,旨在提供一個開放易用的軟件平臺,使軟件的持續集成變成可能。 (以上介紹來源於百度百科)編程

其實通俗來講,Jenkins 就是一個自動化部署項目的工具,幫我省去重複的運維工做。springboot

2. 環境準備

本文須要以下幾個工具:微信

  • JDKapp

  • Git運維

  • Maven

以上三種就不在這裏介紹安裝了,這裏我貼出個人環境變量配置僅供參考:

  • Jenkins

個人 Jenkins 是使用以下方式安裝:

  
  
   
   
   
   
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.reposudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.keysudo yum install jenkins

啓動

  
  
   
   
   
   
service jenkins start

而後訪問 http://${ip}/8080,能夠看到 jenkins 那個小老頭,根據自行配置安裝插件,其中密碼在這裏

  
  
   
   
   
   
vi /var/lib/jenkins/secrets/initialAdminPassword

以上都在網上有不少,我在博客中也寫過,就不在這裏廢話太多了。

3.Jenkins 工具插件配置

3.1 插件配置

我的建議,Jenkins 第一次進入推薦安裝的插件就默認安裝就行,省的還須要後續本身安裝,固然,若是本身安裝的話須要 Maven 和 Git 插件。

3.2 工具配置

  • JDK

  • Git

  • Maven

這裏就能夠用到上面環境準備時須要的截圖,這裏我也摸索了好久才配置完成。

4. 配置項目

4.1 構建自由風格的項目

新建項目,選擇構建自由風格的項目,給項目起個名字,而後點擊 Ok。

4.2 配置參數化構建過程

這裏我用到了幾個參數,由於可能有時須要提早準備好參數在進行構建,以下圖:

  • jar_path : 本意是準備項目打包後的 jar 位置,其實這裏是 Jenkins 工做空間

  • spring_profile:這個是讀取配置文件前綴,好比 dev,test,prod

  • jar_name:jar 包名稱

  • project_name:項目名稱

4.3 Git 配置

用 Git 進行將項目 Clone 下來,配置本身的用戶密碼,Repository URL 配置 git 地址(這裏提供的地址是私密項目,項目沒什麼特別的,就是簡單 SpringBoot 項目,不用嘗試了,用本身項目就能夠)

4.4 配置 Build

這裏選擇執行 Shell,內容以下:

  
  
   
   
   
   
mvn clean install -Dmaven.test.skip=trueecho $spring_profile $jar_path $jar_namecd /usr/local/shell/./stop.sh $jar_nameecho "Execute shell Finish"./startup.sh $spring_profile $jar_path $jar_name $project_name

如圖:

在上面執行的 Shell 裏面還用到了兩個 Shell,分別是 stop.sh,實質就是找到 jar 執行的 pid,而後 kill,具體內容以下:

  
  
   
   
   
   
jar_name=${1}echo "Stopping" ${jar_name}pid=`ps -ef | grep ${jar_name} | grep -v grep | awk '{print $2}'`if[ -n "$pid"]then echo "kill -9 的pid:" $pid kill -9 $pidfi

startup.sh 內容以下,具體能夠根據狀況修改:

  
  
   
   
   
   
spring_profile=${1}jar_path=${2}jar_name=${3}project_name=${4}cd ${jar_path}/${project_name}/target/echo ${jar_path}/${project_name}/target/echo nohup java -jar ${jar_name} &BUILD_ID=dontKillMe nohup java -jar ${jar_name} --spring.profiles.active=${spring_profile} &

5 測試運行

5.1 運行

點擊運行後,如圖所示,剛剛預配置的參數均可以看到並能夠修改,這裏咱們用默認配置好的就能夠。

而後點擊運行就能夠,當時遇到了一個插曲,個人 Maven 是安裝成功的,可是 Jenkins 內沒法使用,報錯 mvn:command not found,這裏我解決的方式是將 mvn 命令也指向 / usr/bin/mvn,以下:

  
  
   
   
   
   
ln -s /usr/local/apache-maven-3.5.4/bin/mvn /usr/bin/mvn

訪問效果其實就是個人博客,如圖所示:

6 總結

整體過程坑其實仍是不少的,畢竟沒有使用過,可是沒有什麼特別棘手的問題,老是出現不一樣的問題,有須要能夠與我一塊兒交流學習。


END


我是武哥,最後給你們 免費分享我寫的 10 萬字 Spring Boot 學習筆記(帶完整目錄)以及對應的源碼 。這是我以前在 CSDN 開的一門課,因此筆記很是詳細完整,我準備將資料分享出來給你們免費學習,相信你們看完必定會有所收穫( 下面有下載方式 )。


能夠看出,我當時備課很是詳細,目錄很是完整,讀者能夠手把手跟着筆記,結合源代碼來學習。如今免費分享出來,有須要的讀者能夠下載學習,就在我公衆號回覆:筆記,就行。



若有文章對你有幫助,

在看轉發是對我最大的支持



關注Java開發寶典

天天學習技術乾貨



點贊是最大的支持 

本文分享自微信公衆號 - 武哥聊編程(eson_15)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索