1. 程式人生 > >五. jenkins部署springboot專案(2)--服務

五. jenkins部署springboot專案(2)--服務

springboot 通過winsw部署為服務

winsw 下載地址:https://github.com/kohsuke/winsw/releases

winsw的使用比較簡單,下載上面兩個檔案,和springboot專案jar包一個資料夾下。

將exe和xml修改成同樣的名字

xml檔案內容如下:

<configuration>
  
   <!-- ID of the service. It should be unique accross the Windows system-->
  <id>market-serverService</id>
  <!-- Display name of the service -->
  <name>market-serverService</name>
  <!-- Service description -->
  <description>貸款超市jar</description>
  
  <!-- Path to the executable, which should be started -->
  <executable>java</executable>
  
  <!--Xmx256m 代表堆記憶體最大值為256MB -jar後面的是專案名-->
  <arguments>-Xmx256m -jar market-server-1.0-SNAPSHOT.jar</arguments>
  <!--日誌模式-->
  <logmode>rotate</logmode>

</configuration>

  開啟命令列,注意需要管理員身份開啟,否則會執行會報錯

D:\java\market>marketService.exe stop
2018-12-12 17:51:17,583 INFO  - Stopping the service with id 'market-serverService'
2018-12-12 17:51:17,611 FATAL - WMI Operation failure: AccessDenied
WMI.WmiException: AccessDenied
   在 WMI.WmiRoot.BaseHandler.CheckError(ManagementBaseObject result)
   在 WMI.WmiRoot.InstanceHandler.Invoke(Object proxy, MethodInfo method, Object[] args)
   在 winsw.WrapperService.Run(String[] _args, ServiceDescriptor descriptor)
   在 winsw.WrapperService.Main(String[] args)
WMI.WmiException: AccessDenied
   在 WMI.WmiRoot.BaseHandler.CheckError(ManagementBaseObject result)
   在 WMI.WmiRoot.InstanceHandler.Invoke(Object proxy, MethodInfo method, Object[] args)
   在 winsw.WrapperService.Run(String[] _args, ServiceDescriptor descriptor)
   在 winsw.WrapperService.Main(String[] args)

註冊服務:

D:\java\market>marketService.exe install
2018-12-12 17:52:44,795 INFO  - Installing the service with id 'market-serverService'

啟動服務:

D:\java\market>marketService.exe start
2018-12-12 17:53:20,052 INFO  - Starting the service with id 'market-serverService'

關閉服務:

D:\java\market>marketService.exe stop
2018-12-12 17:52:24,278 INFO - Stopping the service with id 'market-serverService'

解除安裝服務:

D:\java\market>marketService.exe uninstall
2018-12-12 17:52:36,735 INFO  - Uninstalling the service with id 'market-serverService'

重啟服務:

D:\java\market>marketService.exe restart
2018-12-12 17:54:25,880 INFO  - Restarting the service with id 'market-serverService'

jenkins配置參考之前記錄

新建一個maven專案,主要配置如下:

構建主要邏輯是:

1.git拉取程式碼到本地

2.maven編譯打包

3.複製springboot專案jar包到winsw的目錄下覆蓋,重啟服務

 

批處理命令:

copy /y .\target\market-server-1.0-SNAPSHOT.jar d:\java\market\
cd D:\java\market
market-server-1.0-SNAPSHOTService.exe restart