在程序开发阶段,很多情况下我们需要频繁的对测试服务器进行更新,当我们没有jerkins git环境的时候,远程ssh+wagon给我们提供了一些不小的便利。
上配置。
1,创建boot项目,(略)
2,maven添加properties
<properties>
<!--wagon plugin 配置-->
<service-path>/download</service-path>
<pack-name>${artifactId}-${version}.jar</pack-name>
<remote-addr>10.10.10.10</remote-addr>
<remote-username>root</remote-username>
<remote-passwd>password</remote-passwd>
</properties>
3,maven配置build
<build>
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh</artifactId>
<version>2.4</version>
</extension>
</extensions>
<plugins>
<!--打包-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>wagon-maven-plugin</artifactId>
<version>1.0</version>
<configuration>
<fromFile>target/${pack-name}</fromFile>
<url><![CDATA[scp://${remote-username}:${remote-passwd}@${remote-addr}${service-path}]]></url>
<commands>
<command>pkill -f ${pack-name}</command>
<command>rm -f ${service-path}/${pack-name}.log</command>
<command>export JAVA_HOME=/opt/jdk1.8.0_151</command>
<command>
<![CDATA[nohup java -jar ${service-path}/${pack-name} > ${service-path}/${pack-name}.log 2>&1 & ]]></command>
<command><![CDATA[netstat -nptl]]></command>
<command><![CDATA[ps -ef | grep java | grep -v grep]]></command>
</commands>
<!-- 运行命令 mvn clean package wagon:upload-single wagon:sshexec-->
<displayCommandOutputs>true</displayCommandOutputs>
</configuration>
</plugin>
</plugins>
</build>
4,确保你的服务器可以执行SSH
5,mvn clean package wagon:upload-single wagon:sshexec
6,控制台打印,远程jar包已经运行,远程服务器确认运行状态。
[INFO] sshexec: ps -ef | grep java | grep -v grep
root 1489 1 3 00:22 ? 00:00:29 java -jar /download/base_service_file-GA-0.1.jar
root 1750 1 0 00:34 ? 00:00:00 java -jar /download/biz_work_platform-GA-0.1.jar
over enjoy。