1. create spring boot project
2. install it as a fat jar.
mvn install -Dmaven.test.skip=true
3. copy it to linux directory, and create start.sh and stop.sh
start.sh:
#!/bin/sh
java -jar /opt/test/workflow-service-0.0.1-SNAPSHOT.jar > /opt/test/workflow_service.log &
# tail -f /opt/test/nohup.out
stop.sh
#!/bin/sh
ps -ef | grep test | grep -v grep |grep -v tail | awk '{print $2}' | xargs kill -15
# tail -f /opt/test/nohup.out
5. run and test it directly.
6. update the jar file with java main method of a maven project
1). add dependency to pom.xml
<dependency>
<groupId>ch.ethz.ganymed</groupId>
<artifactId>ganymed-ssh2</artifactId>
<version>build210</version>
</dependency>
2).create RemoteExecuteCommand class to excute sh command,scp jar file.
3).create main method to update the new version jar.
RemoteExecuteCommand cmd = new RemoteExecuteCommand ("192.168.1.100","centos","D:\\\\Users\\\\test\\\\Downloads\\\\192.168.1.100.pem");
cmd.execute("/opt/test/stop.sh");
cmd.executeScp("D:\\\\Users\\\\test\\\\.m2\\\\repository\\\\com\\\\workflow-service\\\\0.0.1-SNAPSHOT\\\\workflow-service-0.0.1-SNAPSHOT.jar","/opt/test/");
cmd.execute("/opt/test/start.sh");