天天看點

本地安裝jenkins部署服務(本地jar包安裝部署到伺服器上)

本文就安裝部分可以參考下,配置等參考另一篇文章會好點,https://blog.csdn.net/weixin_44251399/article/details/88719183

備注:适用于手動打jar包,在通過jenkins上傳部署的方式,遠端拉取git項目自動打包的方式,配置與本文不同(不推薦這種方式,可以看我另一篇v2版本的文章)。

一、jenkins安裝

說明:由于已經安裝好,不想在重新安裝截圖,安裝步驟截圖來源于,位址:https://blog.csdn.net/qq_31142553/article/details/81193173。

1.下載下傳位址:https://jenkins.io/zh/download/

2.安裝

(1)安裝在本地的話,如圖版本

本地安裝jenkins部署服務(本地jar包安裝部署到伺服器上)

(2)安裝成功後一般會自動啟動,然後自動打開浏覽器。如果沒有自動啟動,需要自己手動啟動應用,如下圖

本地安裝jenkins部署服務(本地jar包安裝部署到伺服器上)

(3)啟動成功後,浏覽器會顯示如下圖頁面,讓我們輸入系統設定的初始密碼 。這時我們去對應路徑檔案找到密碼輸入即可。

本地安裝jenkins部署服務(本地jar包安裝部署到伺服器上)

(4) (如果有安裝失敗的,可以使用vpn)這時候顯示讓我們安裝插件的頁面,點選“安裝推薦的插件”就好,接下來應用會安裝一些插件,等待安裝完成就好

(5)Publish over SSH這個插件要安裝好之後系統設定-插件管理-可選插件裡面搜尋安裝

(6)安裝完成後,将進入設定使用者頁面

(7)下一步Jenkins url設定,預設就好

(8)完成之後,點選頁面上開始使用jenkins。

(9)其它設定:修改Jenkins端口。修改後儲存并重新開機應用(在服務裡面去重新開機)

本地安裝jenkins部署服務(本地jar包安裝部署到伺服器上)

(10)設定服務為為開機自啟動 。控制台—管理工具—服務,選中右擊屬性進行修改

本地安裝jenkins部署服務(本地jar包安裝部署到伺服器上)

(11)登陸jenkins頁面。

本地安裝jenkins部署服務(本地jar包安裝部署到伺服器上)

二、Jenkins使用

1.全局設定。

(1)安裝了Publish over SSH之後,在全局設定裡面設定,其他設定預設就行。

Publish over SSH這個插件要安裝好之後系統設定-插件管理-可選插件裡面搜尋安裝。

本地安裝jenkins部署服務(本地jar包安裝部署到伺服器上)
本地安裝jenkins部署服務(本地jar包安裝部署到伺服器上)

(2)這裡配置jdk,其他的可以預設就好,沒安裝的可以選自動安裝。(由于我們沒有使用拉取遠端git項目,自動打包的方式,是以maven這些不需要設定,隻設定一個jdk也可以用)

本地安裝jenkins部署服務(本地jar包安裝部署到伺服器上)

2.建立任務

(1)建立任務

本地安裝jenkins部署服務(本地jar包安裝部署到伺服器上)
本地安裝jenkins部署服務(本地jar包安裝部署到伺服器上)

(2)需要設定的地方

本地安裝jenkins部署服務(本地jar包安裝部署到伺服器上)
本地安裝jenkins部署服務(本地jar包安裝部署到伺服器上)

(3)設定完成之後,點選應用就可以。

3.運作

(1)首頁面可以看到建立的任務,點選建立按鈕就可以

本地安裝jenkins部署服務(本地jar包安裝部署到伺服器上)

(2)任務詳情頁

本地安裝jenkins部署服務(本地jar包安裝部署到伺服器上)

(3)點選開始建立,左下角點選可以看到輸出日志,顯示success之後,對應的jar包服務就啟動成功了,可以去start.sh對應的輸出日志裡面檢視啟動日志。

本地安裝jenkins部署服務(本地jar包安裝部署到伺服器上)
本地安裝jenkins部署服務(本地jar包安裝部署到伺服器上)

4.腳本内容(start.sh)

#說明:

#(1)本地jar包存放在D:\develop\jenkins\workspace\ceshi007(這是jenkins建立的任務名)\target目錄下

#(2)jenkins上傳jar包存放在伺服器/data/apps/api-service/tmp/目錄下

#(3)新增服務上傳的時候在下方按照格式新增即可,會自動部署上傳的jar包服務

#(4)新增後,把本業内容全選-複制,粘貼至/data/apps/api-service/start.sh中;

#或者在linux上執行 dos2unix 腳本名 也可以。

#(win下的換行是回車符+換行符,也就是\r\n,而unix下是換行符\n。linux下不識别\r為回車符,是腳本編碼的問題。)

#(5)如果上傳的jar包沒有在這裡配置條件判斷,就不會執行,隻會上傳到指定位置而已。

#重新整理配置檔案

source /etc/profile

#1

#demo1服務條件判斷部署

#判斷指定位置是否存在檔案demo.1.0.0.jar(即是否重新上傳了jar包來更新服務)

if [ -f “/data/apps/api-service/tmp/demo.1.0.0.jar” ];

then

#擷取服務的pid

jar1=demo.1.0.0.jar

pids1=$(ps -ef | grep $jar1 | awk ‘{print $2}’)

#移動舊版本到bak(沒有則建立)

mv $jar1 bak/

#移動新版本到/data/apps/api-service目錄下

cd tmp/

mv /data/apps/api-service/tmp/demo.1.0.0.jar /data/apps/api-service

#關閉服務

kill -9 $pids1

#傳回/data/apps/api-service目錄下

cd …

#重新運作服務,輸出日志

BUILD_ID=dontKillMe

nohup java -jar $jar1 >…/…/logs/demo.log &

#條件判斷結束

fi