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

本文由黑壳博客整理

本文来源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

黑壳博客 blog.bhusk.com

E-mail:keshu@bhusk.com

本文由 黑壳博客的壳叔 创作或转载,采用 知识共享署名 3.0 中国大陆许可协议 进行许可。

可自由转载、引用,但需署名作者且注明文章

留下你的脚步
推荐阅读