springboot 2.x+maven+wagon 远程执行ssh更新开发环境下的jar

在程序开发阶段,很多情况下我们需要频繁的对测试服务器进行更新,当我们没有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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值