美文网首页技术干粮
SpringBoot之自动化部署至服务器[小白版]

SpringBoot之自动化部署至服务器[小白版]

作者: 壳叔 | 来源:发表于2020-07-07 20:57 被阅读0次
    image.png

    本文由黑壳博客整理

    本文来源SpringBoot之自动化部署至服务器[小白版]

    今日段子

    今天自己蒸了几个包子,随手拿了个星爸爸的袋子装了进去,到了公司同事看到我从星爸爸的袋子拿出来包子,好奇的问道”星爸爸都开始卖包子了???“

    正文

    最近在写项目发现频繁发布测试服项目,部署起来相对繁琐。
    稍微查了一下,发现了这款Maven插件wagon-maven-plugin来自动完成部署。

    看了下配置都写的很详细,难免有复杂的问题,我整理一份小白版本,复制可用,适用于大部分主流jar包部署。

    代码实例

    配置Linux服务器用户名和密码
    <properties>
            <!--服务器项目运行的地址-->
            <service-path>/project/</service-path>
            <pack-name>${project.artifactId}-${project.version}.jar</pack-name>
            <!--ssh登录服务器的ip和端口 端口一般默认22-->
            <remote-addr>ip:port</remote-addr>
            <remote-username>服务器用户名</remote-username>
            <remote-passwd>服务器密码</remote-passwd>
    </properties>
    
    maven依赖jar
    <!-- https://mvnrepository.com/artifact/org.codehaus.mojo/wagon-maven-plugin -->
    <dependency>
       <groupId>org.codehaus.mojo</groupId>
       <artifactId>wagon-maven-plugin</artifactId>
       <version>2.0.0</version>
    </dependency>
    
    最后把这个配置放在打包的pom.xml就ok了
    <build>
    <extensions>
        <extension>
            <groupId>org.apache.maven.wagon</groupId>
            <artifactId>wagon-ssh</artifactId>
            <version>2.8</version>
        </extension>
    </extensions>
    <plugins>
        <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>
                    <!-- 杀死原来的jar进程 -->
                    <command>pkill -f ${pack-name}</command>
                    <!-- 重新启动jar进程,程序的输出结果写到log文件中 -->
                    <command><![CDATA[nohup java -jar ${service-path}/${pack-name} --spring.profiles.active=dev > ${service-path}/bd.log 2>&1 & ]]></command>
                    <command><![CDATA[netstat -nptl]]></command>
                    <command><![CDATA[ps -ef | grep java | grep -v grep]]></command>
                </commands>
                <!-- 显示运行命令的输出结果 -->
                <displayCommandOutputs>true</displayCommandOutputs>
            </configuration>
    
        </plugin>
    </plugins>
    </build>
    
    最后一步 执行命令

    在pom.xml文件相同目录下终端执行以下mvn命令

    mvn clean package wagon:upload-single wagon:sshexec
    

    附言

    以上配置文件方式适用于大部分主流jar包部署方式,非常简单小白式。

    还有点小事情需要你知道

    欢迎在评论写下你的程序员趣事~~

    欢迎加入我们的小组织 ,大家都叫壳叔,期待你的到来。

    我们也会定期在群内聊天记录中抽取有趣的事情或者小问题。

    这里有个过分安逸的公众号

    黑壳博客微信公众号

    不能忘记这个,这是大人的Group

    Group 企鹅群:200408242

    相关文章

      网友评论

        本文标题:SpringBoot之自动化部署至服务器[小白版]

        本文链接:https://www.haomeiwen.com/subject/cpozqktx.html