jenkins+docker部署springboot项目

jenkins+docker部署springboot项目

在springboot根目录添加Dockerfile文件

FROM openjdk:8
VOLUME /tmp
ADD target/*.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar","--spring.profiles.active=prd"]

一、新建自由风格任务

jenkins+docker部署springboot项目_第1张图片

二、参数配置

  • 按分支构建
    jenkins+docker部署springboot项目_第2张图片

  • 配置git代码地址、账号密码和分支信息

    jenkins+docker部署springboot项目_第3张图片

  • 构建参数(选择调用顶层Maven)

    jenkins+docker部署springboot项目_第4张图片

    三、镜像构建和启动脚本

    cd ${WORKSPACE}
    appname="order"
    if [[ -n $(docker ps -q -f "name=^${appname}\$") ]];then
    	  docker stop ${appname}
        docker rm ${appname}
    else
    	echo "application not running"
    fi
    docker build -t "${appname}:${BUILD_NUMBER}" .
    docker run -d -p 2002:8080 --name ${appname} ${appname}:${BUILD_NUMBER}
    

    ---------- 到此已完成-----------------------

四、 如果需要回滚

构建参数添加操作区分(deploy和rollback)

添加参数表示回滚的版本号(version)

jenkins+docker部署springboot项目_第5张图片

构建shell脚本:

1: 部署脚本

if [ ${operate} = "deploy" ]; then
  
  cd ${WORKSPACE}
  appname="order"
  if [[ -n $(docker ps -q -f "name=^${appname}$") ]];then
      docker stop ${appname} || true
      docker rm ${appname}
  else
      echo "application not runniing"
  fi
  docker build -t "${appname}:${BUILD_NUMBER}" .
  docker run -d -p 2002:8080 --name ${appname} ${appname}:${BUILD_NUMBER}

fi
  1. 回滚脚本

    if [ ${operate} = "rollback" ]; then
      echo "------开始回滚----------------"
      appname="order"
      docker stop ${appname}
      docker rm ${appname}
      docker run -d -p 2002:8080 --name ${appname} ${appname}:${version}
    fi
    
  2. 操作界面

jenkins+docker部署springboot项目_第6张图片

你可能感兴趣的:(Spring,Boot,#,docker,运维,docker,jenkins,spring,boot)