Jenkins 以 Docker 方式部署 Springboot

文主要介绍笔者自己使用 Jenkins 自动化打包 Springboot,并以 Docker 方式部署流程。这里没有用到 K8 等管理工具,规模还没到那一步,以下流程经过实践,对于小规模应用还可以。

架构

Jenkis 以 Docker 方式部署 Springboot

实现

Jenkins 共2个任务:构建任务和部署任务。

构建任务是源码到 Jar 包再到 Docker 镜像的过程。

部署任务对远程服务器 Docker 更新的过程。

构建任务

  1. 拉取代码

  2. Gradle 打包

    本文示例采用 jar 包方式

  3. 打 Docker 镜像

    将应用 jar 包,复制到 Docker 镜像,基础镜像采用 AdoptOpenJDK 官方镜像。只作为运行环境,建议使用 JRE 镜像。 基于基础镜像也可以改造成自己的,比如:

    1
    2
    3
    4
    5
    6
    
    FROM adoptopenjdk:11-jre-hotspot
    MAINTAINER dz@mangobeta.com
    RUN mkdir /opt/app
    COPY japp.jar /opt/app
    CMD ["java", "-jar", "/opt/app/japp.jar"] 
      
    
  4. 推送 Docker 镜像到仓库

    一般公司会内部搭建 Harbor 仓库,看具体使用。

部署任务

  1. SSH 连接到目标服务器
  2. 停止原有容器,拉取最新 Docker 镜像,Run 起来。
updatedupdated2020-12-082020-12-08
Load Comments?