我的java 服务器端项目

我做的是java服务器端项目,对整个项目部署的一些情况和方法记录在此,如果网友有好的推荐,还望发文与我参考学习。

前提:1.是maven项目。2.服务器端程序已经写好,可以打包成jar到服务器用dos窗口运行。

为了方便维护,做了进一步的改善:


最终达到的效果就是,发布代码简化成两个步骤:1.上传SVN提交最新代码,2.打开持续集成环境Jenkins,选择项目运行。

通过以上两步,最新版本程序自动更新到服务器端,并自动完成卸载旧版本服务,生成新版本服务,启动新服务。


分两大步进行改进:

1.做成windows服务,可随机器开机自启动

参考网友的方法,也经过自己亲自使用过,做了自己的一些总结。

利用打包工具wrapper,注意区分32和64位系统:
以下都是在java环境变量正常的情况下进行的

一、64位系统请在“wrapper-windows-x86-64-3.5.25-st”下进行打包

一定要注意这里:如果你64位系统的wrapper包不是64位破解版本,就只能用收费的了,用32位版本是不行的,wrapper目前只有32位免费版本,不知道64免费版本会不会出来。
需要打包的程序一般分5个目录,application, bin, conf, lib, logs,如我需要打包应用程序PlanManager-1.0.jar
首先在wrapper-windows-x86-64-3.5.25-st目录下新建文件夹PlanManager,再在PlanManager下新建以上5个目录。
wrapper64位系统没有免费版本,该版本是破解版,目前稳定性未知

1、application:放需要打包的程序

2、bin:从wrapper解压包中“..\src\bin”拷贝所有的.bat.in文件放到自建的PlanManager\bin下,并将.bat.in文件都改成.bat文件。再从wrapper解压包中“..\bin”拷贝wrapper.exe到PlanManager\application。该目录还放自己开发的应用程序本身所需要的配置文件,如日志配置文件等

3、conf:最重要的配置文件wrapper.conf,还有一个wrapper-license.conf(如果下载的是“wrapper-windows-x86-64-3.5.25-st”破解版本,该文件请不要做任何改动)

4、lib:除了wrapper自身的wrapper.dll和wrapper.jar,还可以存放应用程序需要的一些jar文件,配置wrapper.conf的时候记得加上,本文是maven项目,lib都是maven依赖的,所以没有配lib。

5、logs:wrapper自身的日志记录


二、32位系统请在“wrapper-windows-x86-32-3.5.27”下进行打包

http://wrapper.tanukisoftware.com/doc/english/download.jsp,官上很清楚,显示版本为Community的为免费版本,其他版本都收费。
用法和64位的一样,只是conf里不需要license文件,32位用免费版本。


三、wrapper.conf的配置说明

以下对一些主要的属性进行说明,也没有深入研究,

1、找到wrapper.java.classpath.1=../lib/wrapper.jar处,指定应用程序
添加:wrapper.java.classpath.2=../application/PlanManager-1.0.jar

2、找到Log file to use for wrapper output logging.
wrapper.logfile=../logs/wrapper.log

3、找到Initial Java Heap Size (in MB),指定最小内存和最大内存
添加:wrapper.java.initmemory=3
添加:wrapper.java.maxmemory=100

4、找到Application parameters,指定mian函数所在的类,要包括包名
添加:wrapper.app.parameter.1=com.PlanManager

5、其他就是一些命名了
wrapper.console.title=PlanManager
wrapper.name=PlanManager
wrapper.displayname=MosPlanManager Service
wrapper.description=MosPlanManager Service

从上面配置日志、应用程序存放位置来看,其实很容易知道目录都是可以自己配的。


运行PlanManager\bin下面的bat文件,你就会发现相应好多功能都有了,最常的有两个安装:InstallApp-NT.bat,卸载:UninstallApp-NT.bat,如果要检查你的jar包有没有问题,你还可以直接运行该目录下的App.bat,这个表示直接执行自己的jar程序,首先要保证这个执行没问题。如果出错去看日志../logs/wrapper.log


2.代码修改后,上传SVN,直接运行集成环境就可以发布新版本。持续集成环境Jenkins


我这里持续集成环境Jenkins是老大搭建的,去百度上查下方法应该不难,这里主要记录些配置

在JenKins上新建一个maven项目,要保证最新代码提交SVN后,这里运行正常,并能够在Jenkins目录下自己的项目目录找到生成的应用程序jar包。

1.源码管理项:Subversion

2.构建环境项:Post Steps->Add post-build step->Execute Windows batch command,我一共建了4个

第一个框Execute Windows batch command功能先找到服务器端目录PlanManager\bin,然后执行卸载服务处理

填入 cd D:\Server\run\PlanManager\bin
UninstallPlanManager.bat

注意,这里是卸载了程序服务,所以做一次更新时,要确保不影响正常运营。

第二个框Execute Windows batch command功能把用Jenkins运行生成的jar包拷贝到要做成windows服务的应用程序目录:

填入copy D:\CI\jenkins_home\jobs\PlanManager\workspace\target\PlanManager-1.0.jar D:\Server\run\PlanManager\application\ /y

第三个框Execute Windows batch command功能先找到服务器端目录PlanManager\bin,然后执行安装服务处理

cd D:\Server\run\PlanManager\bin
InstallPlanManager.bat

第四个框Execute Windows batch command功能先找到服务器端目录PlanManager\bin,然后执行启动服务处理

cd D:\Server\run\PlanManager\bin
StartPlanManager.bat


注意:

这里再记录下maven项目pom.xml的配置需要:

为了让Jenkins生成的是自己想要的名称和版本号PlanManager-1.0.jar:我的项目设置是

  <artifactId>PlanManager</artifactId>
  <version>1.0</version>
  <packaging>jar</packaging>

为了在Jenkins生成包时保证生成的jar是可直接运行的,要设置pom.xml

我程序主类是:com.PlanManager

<build>
  <plugins>
  <plugin>  
   <groupId>org.apache.maven.plugins</groupId>  
   <artifactId>maven-shade-plugin</artifactId>  
   <version>1.2.1</version>  
   <executions>  
       <execution>  
           <phase>package</phase>  
           <goals>  
               <goal>shade</goal>  
           </goals>  
           <configuration>  
               <transformers>  
                   <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">  
                       <mainClass>com.PlanManager</mainClass>  
                   </transformer>  
               </transformers>  
           </configuration>  
       </execution>  
   </executions>  
</plugin>
  </plugins>
  </build>

发布了28 篇原创文章 · 获赞 8 · 访问量 14万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览