ant+maven+springboot----->windows部署到linux

ant+maven+springboot----->windows部署到linux

首先

安装ant/maven

配置ANT_HOME/MAVEN_HOME

书写build.xml

-------------------------------------------------------------------------------------------------------

<?xml version="1.0" encoding="UTF-8"?>

<project name="jdrx-bigdata-dataAnalyzer" default="redeploy-10.124" basedir="." xmlns:artifact="antlib:org.apache.maven.artifact.ant">
   <!--<path id="maven-ant-tasks.classpath" path="maven-ant-tasks-2.1.3.jar" />-->
   <property environment="env" />
   <property name="project.root" value="${basedir}" />
   <property name="warFileName" value="jdrx-bigdata-dataAnalyzer-cloudboot-1.0.0-fatjar.jar" />
   <property name="jarDir" value="${basedir}/jdrx-bigdata-dataAnalyzer-cloudboot/target/${warFileName}" />
   <property name="remoteDeployDir" value="/opt/bigdata-dataAnalyzer-app" />
   <!--<path id="maven-ant-tasks.classpath" path="E:\jdrx\jdrx-bigdata-dataAnalyzer\maven-ant-tasks-2.1.3.jar" />-->
   <!--<typedef resource="org/apache/maven/artifact/ant/antlib.xml"-->
          <!--uri="urn:maven-artifact-ant"-->
          <!--classpathref="maven-ant-tasks.classpath" />-->
   <target name="run">
      <echo message="执行"></echo>
   </target>
   <target name="maven-package">
      <artifact:mvn pom="pom.xml" mavenversion="3.3.9" mavenhome="${env.MAVEN_HOME}" jvmargs="-Dmaven.multiModuleProjectDirectory=$MAVEN_HOME"
                 args="package -Dmaven.test.skip=true" fork="true">
      </artifact:mvn>
   </target>
   <target name="redeploy" depends="maven-package">
      <sshexec host="192.168.10.124" username="root"  password="bigdata" trust="true" command="cd ${remoteDeployDir};sh shutdown.sh;"/>
      <sshexec host="192.168.10.124" username="root"  password="bigdata" trust="true" command="cd ${remoteDeployDir};rm -rf ${warFileName};"/>
      <scp file="${jarDir}"  todir="[email protected]:${remoteDeployDir}"  password="bigdata" trust="true"/>
      <sshexec host="192.168.10.124" username="root"  password="bigdata" trust="true" command="cd ${remoteDeployDir};sh startup.sh;"/>
   </target>
</project>
运行:ant -buildfile build.xml redeploy

报错:maven打包缺少依赖。
maven-ant-tasks-2.1.3.jar拷贝到ant的lib下面
再运行:ant -buildfile build.xml redeploy
报错:缺少ssh的jar包
把jsch-0.1.54.jar拷贝到ant的lib下面
再运行:ant -buildfile build.xml redeploy
成功!!
 
附录:

shutdown.sh

#!/bin/sh count=`ps -ef | grep jdrx-bigdata-dataAnalyzer-cloudboot-1.0.0-fatjar.jar | grep -v grep | awk '{print $2}' | wc -lcw |awk '{print $1}'`; pid=`ps -ef | grep jdrx-bigdata-dataAnalyzer-cloudboot-1.0.0-fatjar.jar | grep -v grep | awk '{print $2}' | head -1`; echo $count $pid; if [ $count -gt 0 ] then kill $pid else echo 'no such process' fi

startup.sh

扫描二维码关注公众号,回复: 1228469 查看本文章

#!/bin/sh source /etc/profile cd /opt/bigdata-dataAnalyzer-app nohup java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=9095,suspend=n -jar jdrx-bigdata-dataAnalyzer-cloudboot-1.0.0-fatjar.jar >dataAnalyzer.log 2>&1 &

 

猜你喜欢

转载自my.oschina.net/u/3027545/blog/1620144
今日推荐