如何使用jenkins部署maven父子工程

 最近使用jenkins自動部署項目時遇到一個問題,若是部署單個的maven工程,沒有什麼問題,java

可是在部署maven建立的父子工程,若是隻從svn或者git上拉取子工程源碼時,會報找不到父git

工程pom或者relativePath的錯誤,這是由於,maven子工程是依賴父工程的pom的,因此拉取shell

代碼的時候要先拉取整個父工程下來,而後再單個拉取子工程,也就是父工程建立一個任務,bash

而後子工程各一個任務。操做方式以下:服務器

說明:我使用的jenkins是root權限maven

首先登錄jenkins到達jenkins工做臺,Jenkins搭建能夠搜一下,在這裏只有使用方法svn

點擊新建任務spa

開始配置3d

點擊添加按鈕日誌

至此,父工程就能夠構建一下,第一次構建會比較慢,下載的jar包比較多

構建完之後,就能夠到服務器上查看打的jar包,具體路徑能夠問一下搭建jenkins的人員

下面就能夠建立子工程的任務了,不一樣的地方主要是下面兩個:

第一個是在源碼管理的時候,選擇無,由於父工程打包後jar,全部工程都已經被打包

 

第二個是在構建的時候,就能夠填寫執行shell腳原本進行自動化部署項目了

腳本以下,可根據本身須要進行更改

BUILD_ID=DONTKILLME
#!/bin/bash
#獲取你想運行jar包的進程號
pid=`ps -ef | grep 子工程jar包名稱.jar | grep -v grep | awk '{print $2}'`
#若是存在則把該進程殺掉
if [ -n "$pid" ]
then
   echo "kill -9 的pid:" $pid
   kill -9 $pid
fi
echo "複製jar包"
#把jenkins打的jar包複製到本身指定的目錄下
cp  /root/.jenkins/workspace/父工程項目名稱/子工程項目名稱/target/子工程jar包名稱.jar /本身指定的目錄路徑/
echo "啓動jar包"
#最後啓動jar包並把日誌輸出到指定的文件中以便查看
nohup java -jar /本身指定的目錄路徑/子工程jar包名稱.jar > /本身指定的目錄路徑/credit_manage.log &
相關文章
相關標籤/搜索