美文网首页
springboot项目一键部署到Linux服务器

springboot项目一键部署到Linux服务器

作者: zss945 | 来源:发表于2020-01-15 18:00 被阅读0次

    springboot项目开发完成后,发布测试环境,需要经过编译,打包,上传,启动等步骤。
    如果采用dockerfile-maven-plugin插件+shell脚本组合使用,就可以实现一键部署。

    第1步、Linux安装docker

    网上教程很多:略过

    第2步、开启docker远程API

    vi /usr/lib/systemd/system/docker.service
    

    在 ExecStart,后面添加:-H tcp://0.0.0.0:2375
    修改完成后,按esc输入:wq退出

    执行命令

    systemctl daemon-reload  //重新加载配置文件
    systemctl restart docker.service //重启docker
    

    第3步、添加dockerfile-maven-plugin插件

    在pom.xml文件plugins里面添加

    <plugin>
       <groupId>com.spotify</groupId>
       <artifactId>dockerfile-maven-plugin</artifactId>
       <version>1.4.0</version>
           <configuration>
           <repository>prefix/${project.artifactId}</repository>
           <tag>${project.version}</tag>
           <contextDirectory>${project.basedir}</contextDirectory>
                <buildArgs>
                    <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
               </buildArgs>
           </configuration>
     </plugin>              
    

    第4步、编写Dockerfile

    在springboot项目的根目录新建Dockerfile文件,添加内容如下:

    FROM openjdk:8-jdk-alpine
    WORKDIR /app/
    VOLUME ["/tmp"]
    EXPOSE 8080
    ARG JAR_FILE
    COPY ${JAR_FILE} app.jar
    ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","app.jar"]
    

    第5步、编写脚本

    给不同开发平台的开发者使用

    Windows开发者

    在springboot项目的根目录新建auto-build.bat文件,添加内容如下

    @echo off
    echo "auto build ready"
    set DOCKER_HOST=tcp://Linux服务器IP:2375
    echo "set docker host success"
    mvn clean package -Dmaven.test.skip=true dockerfile:build
    echo "auto build success"
    
    MacOS开发者

    在springboot项目的根目录新建auto-build.sh文件,添加内容如下

    #!/bin/bash
    echo "auto build ready"
    DOCKER_HOST=tcp://Linux服务器IP:2375 mvn clean package -Dmaven.test.skip=true dockerfile:build
    echo "auto build success"
    

    脚本编写完毕,执行脚本。

    第6步、镜像验证

    登录Linux服务器,执行

    docker images //查看docker镜像
    

    查看springboot项目镜像,如果存在证明编译,打包,上传都成功了,接下来就是启动镜像了

    docker run -itd --name 别名 -p 8080:8080 镜像名称 /bin/bash
    

    镜像启动成功后,可以浏览器验证了,如:http://Linux服务器IP:8080

    最后来说说这个插件利弊

    好处

    1、配置简单,环境要求简单,只需要开发者安装JDK、maven(配置jdk环境变量、maven环境变量)

    坏处

    1、存在安全风险
    2、发布不是通过git版本,而是开发者直接发布

    分享到此结束,谢谢大家。

    相关文章

      网友评论

          本文标题:springboot项目一键部署到Linux服务器

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