美文网首页
springboot docker jenkins 自动化部署并

springboot docker jenkins 自动化部署并

作者: 言雨生百谷 | 来源:发表于2020-05-02 17:04 被阅读0次

    springboot + docker + jenkins自动化部署项目,jenkins、mysql、redis都是docker运行的,并且没有使用虚拟机,就在阿里云服务器(centos7)运行

    1、前期准备工作不说了

    2、在项目根目录下新建Dockerfile

    file

    Dockerfile文件内容为:

    #基础镜像
    FROM openjdk:12
    #作者
    MAINTAINER demo <demo@qq.com>
    
    VOLUME /tmp
    #指定配置文件,以及jar包在服务器上的路径
    ENTRYPOINT ["java","-Dspring.profiles.active=prod","-jar","/lcy/work/tools/tools.jar"]
    #暴露端口
    EXPOSE 8092
    

    3、在服务器找个目录新建一个.sh文件

    #!/bin/sh
    echo '================开始构建镜像=============='
    #镜像名称
    IMAGE_NAME='registry.cn-beijing.aliyuncs.com/???/tools'
    #打包后在jenkins的地址
    SOURCE_PATH='/lcy/jenkins/workspace/tools'
    #Dockerfile执行jar包的地址
    BASE_PATH='/lcy/work/tools'
    echo IMAGE_NAME=$IMAGE_NAME
    
    echo '================复制JAR包==================='
    echo $SOURCE_PATH/target/tools-0.0.1-SNAPSHOT.jar
    cp $SOURCE_PATH/target/tools-0.0.1-SNAPSHOT.jar $BASE_PATH/tools.jar
    chmod -R 777 $BASE_PATH/tools.jar
    echo '================复制完成===================='
    
    echo '================当前docker版本=============='
    docker -v
    
    echo '================构建镜像开始================'
    docker build -t $IMAGE_NAME -f $SOURCE_PATH/Dockerfile .
    echo '================构建镜像结束================'
    #输入要推送镜像的地址,根据镜像仓库提示的地址复制
    echo '================推送镜像开始================'
    docker login --username=??? --password=??? registry-vpc.cn-beijing.aliyuncs.com
    docker push $IMAGE_NAME
    echo '================推送镜像结束================'
    
    echo '================获取容器id=================='
    CID=$(docker ps | grep "$IMAGE_NAME" | awk '{print $1}')
    echo 容器id=$CID
    
    echo '================获取镜像id=================='
    IID=$(docker images | grep "$IMAGE_NAME" | awk '{print $3}')
    echo 镜像id=$IID
    
    if [ -n "$CID" ]; then
        echo 存在$IMAGE_NAME容器,停止容器并删除
        docker stop tools
        docker rm tools
    else
        echo 不存在$IMAGE_NAME容器,开始启动
        docker run -p 8092:8092 -d --name tools -v $BASE_PATH:$BASE_PATH $IMAGE_NAME
    fi
    

    4、配置jenkins,执行新建的.sh文件(记得给好权限)其它的配置就不说了,比如github的配置


    file

    5、运行结果


    file

    本文由博客一文多发平台 OpenWrite 发布!

    相关文章

      网友评论

          本文标题:springboot docker jenkins 自动化部署并

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