最近在使用公司的jenkins進行自動部署項目,由於之前沒有用過,一直半生不熟,因此特意寫個隨機記錄。
1.登錄jenkins服務
jenkins安裝好后,我們通過瀏覽器訪問它的主頁(如下),輸入用戶名和密碼進行登錄。

2.建立新的項目
由於這是公司的服務器,因此上面之前已經安裝好了幾個其他的項目,這次我是需要建立一個新的項目,因此點擊箭頭所指的“New Item”

3.輸入項目名稱,並選擇項目類型。
我這里為了方便自由配置,選擇了第一個“Freestyle project”

4.配置相關內容
#每次項目更新,構建時候拋棄之前舊的構建,最大記錄數設置為20.

#配置使用的JDK,有時候服務器上有多個版本JDK,最好是我們自己指定版本,以防出現版本錯誤的情況。

#配置版本控制器,由於我使用的是SVN,因此這里配置的是項目的SVN地址,下方Credentials是驗證信息

#配置完版本控制后,在下方選擇“Always check out a fresh copy”,以保證每次構建項目都是最新代碼,而且不需要我們進行手動同步。

#配置MAVEN信息。我這里使用的maven構建項目,包括編譯打包發布等,因此這里配置MAVEN的相關信息,"Goals"配置的是maven的打包指令,先clean舊文件,再install新文件,同時-Dskip Tests跳過測試。
同時我們還添加了一個“Execute shell”,里面一共有兩句話:
“BUILD_ID=DONTKILLME”:這里是因為jenkins會存在殺死衍生進程的情況,配置這條命令可以阻止它亂殺。
“sh /******/**.sh”:sh命令不用多說了,就是運行sh文件的意思。我這里編寫了一個運行腳本,maven打包之后,由這個腳本來運行jar。

#下面的內容純粹就是分享一下我的這個腳本
內容比較簡單,就是先檢查程序是否在運行中,如果是,就先強行殺死程序(kipp -9)。
由於maven的install指令將jar安裝在了maven倉庫中,我們直接從倉庫將項目包cp到指定的目錄下。
然后通過java指令啟動jar文件。
tomcat_pid=`ps -ef | grep java | grep autopayment-data.jar |awk '{print $2}'`
echo $tomcat_pid
if [ -n "$tomcat_pid" ]; then
echo "Current autopayment-data Pid:" ${tomcat_pid}
kill -9 ${tomcat_pid}
echo "This autopayment-data Had Shutdown!"
fi
echo "Now autopayment-data Is Starting To Publish..."
#curl -X POST http://localhost:9070/autopayment/shutdown
rm -rf /u01/autopayment-data/autopayment-data.jar
cp /usr/local/mvnRespo/com/hrtpayment/autopayment-data/1.0-SNAPSHOT/autopayment-data-1.0-SNAPSHOT.jar /u01/autopayment-data/autopayment-data.jar
echo "start autopayment-data ....."
cd /u01/autopayment-data
nohup java -jar -Xmx1024m -Xms256m -Xmn128m -Xss256k -XX:MaxPermSize=512m -Dfile.encoding=UTF-8 /u01/autopayment-data/autopayment-data.jar --spring.profiles.active=dev &
到此,我們的自動構建項目已經配置完成。
