五. jenkins部署springboot项目--服务

Posted 宅山仔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了五. jenkins部署springboot项目--服务相关的知识,希望对你有一定的参考价值。

前提:jenkins和springboot运行在同一台机器

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

 

以上是关于五. jenkins部署springboot项目--服务的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins和Gitee自动化部署SpringBoot项目

Jenkins和Gitee自动化部署SpringBoot项目

Jenkins + 钉钉 + SpringBoot 极简入门,一键打包部署项目

Jenkins+Docker 一键自动化部署 SpringBoot 项目

用Jenkins自动构建部署SpringBoot项目

Jenkins自动部署springboot项目