zoukankan      html  css  js  c++  java
  • Docker+Jenkins+Git+Maven实现Springboot项目自动化部署

    一、项目整合Docker

    1.新建Dockerfile

    img

    填入内容

    FROM java:8-jre
    VOLUME /tmp
    ADD *.jar app.jar
    ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

    上传到github/码云

    二、Jenkins插件安装

    1.更换下载镜像源

    Jenkins所有镜像列表

    image-20200522175212023

    image-20200522175223946

    填入镜像源地址

    https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

    3.下载插件

    Maven Integration plugin

    Deploy to container Plugin

    docker-build-step

    Publish Over SSH

    image-20200522175820059

     

    三、系统与工具配置

    1.配置服务器主机连接

    image-20200522181425187

     

    填写密码、ip地址、用户名以及远程连接目录

    image-20200523201916731

     

    2.工具环境配置

    image-20200522181620194

    配置maven、JDK、Git

    image-20200522181715192

    image-20200522181756783

     

      备注:路径根据个人情况修改,要确保正确,可以到Jenkins的容器中查看

    四、新建任务

    1.新建Maven项目

    image-20200522180036693

    2.配置源码管理

    将github/码云上的项目地址填入

    image-20200522180833385

    若是需要认证,则添加凭据即可

    3.配置构建命令

    image-20200522180933672

    4.配置构建后发布

    填写执行命令

    #!/bin/sh
    #docker 镜像/容器名字或者jar名字 这里都命名为这个
    SERVER_NAME=logistics
    #容器id
    CID=$(docker ps | grep "$SERVER_NAME" | awk '{print $1}')
    #镜像id
    IID=$(docker images | grep "$SERVER_NAME" | awk '{print $3}')
    #当前日期
    DATE=`date +%Y%m%d`

    #清除旧容器
    if [ -n "$CID" ]; then
    echo "存在$SERVER_NAME容器,CID=$CID"
    echo "停止旧容器"
    docker stop $SERVER_NAME
    echo "删除旧容器"
    docker rm $SERVER_NAME
    fi

    # 清楚旧镜像
    if [ -n "$IID" ]; then
    echo "存在$SERVER_NAME镜像,IID=$IID"
    echo "删除镜像"
    docker rmi $IID
    fi

    #构建镜像
    echo "开始构建镜像"
    docker build -f ./src/main/docker/Dockerfile -t $SERVER_NAME:v${DATE} ./target
    echo "构建镜像成功!"


    # 运行docker容器
    echo "创建并启动$SERVER_NAME容器..."
    docker run --name $SERVER_NAME -d -p 8071:8071 $SERVER_NAME:v${DATE}
    echo "$SERVER_NAME容器启动完成"

    备注:路径要根据个人情况填写

    保存返回到主页面

     

    五、使用

    image-20200522194049023

    image-20200522194120490

  • 相关阅读:
    程序猿之没事瞎吐槽
    iOS 打印日志的保存 (一)
    Xcode4.5 本地化,多语言设置
    css3渐变画斜线 demo
    关于JavaScript的一些记录
    Windows 10 自带输入法(微软拼音)繁体简体切换快捷键
    ng-class用法小记
    基于vue监听滚动事件,实现锚点链接平滑滚动
    总结继承的几种方式
    浅谈jQuery的内部框架结构,操作
  • 原文地址:https://www.cnblogs.com/zero666/p/12939355.html
Copyright © 2011-2022 走看看