博客
关于我
Docker+Jenkins+Gitee+Node+Vue构建dist包并通过publish over ssh传输到服务器替换重启docker-compoet编排的nginx服务
阅读量:802 次
发布时间:2019-03-25

本文共 1586 字,大约阅读时间需要 5 分钟。

Docker-compose入门及SpringBoot+Vue+Redis+MySQL前后端分离项目部署

场景概述

为了实现前后端分离项目的高效部署与管理,采用Docker-compose搭建环境,是实现高效部署的理想选择。本文将详细介绍基于Docker-compose搭建SpringBoot后端与Vue.js前端的分离项目部署方案。

技术选型

项目的核心技术选型包括以下几个方面:

  • 后端框架:采用SpringBoot框架,利用其快速部署特性和丰富的插件支持。
  • 前端框架:基于Vue.js构建单页应用界面,因其快速开发特性和良好的社区支持。
  • 数据持久化:Redis用于缓存,MySQL用于数据存储,配合SpringData实现数据持久化。
  • 构建工具:采用Maven进行项目构建,通过Jenkins进行CI/CD管理。

环境搭建

前端环境搭建

version: '3'
services:
- name: vue
image: vue:latest
ports:
- "8080:8080"
volumes:
- ./vue/src:/vue/src
networks:
- vue-network

后端环境搭建

version: '3'
services:
- name: springboot
image: springboot:latest
ports:
- "8081:8081"
volumes:
- ./springboot/src:/springboot/src
networks:
- spring-network

依赖服务

version: '3'
services:
- name: redis
image: redis:latest
ports:
- "6379:6379"
volumes:
- redis_data:/data
- name: mysql
image: mysql:latest
ports:
- "3306:3306"
volumes:
- mysql_data:/var/lib/mysql

部署流程

  • 项目初始化 通过Maven进行项目初始化,并配置必要的依赖包和插件。确保Jenkins文件夹结构规范,以便CI/CD自动化。

  • 代码提交与构建 将代码提交至Git仓库,通过Jenkins配置相应的CI/CD流水线。确保构建过程自动化,及时反馈构建状态。

  • 部署准备 构建完成后,Jenkins根据预设的配置自动触发部署流程。将构建好的文件传送至远程服务器,并执行部署命令。

  • 环境配置 在服务器上部署完成后,需要配置环境变量。通过Docker-compose文件中预定义的环境变量,将连接信息、密码等配置到SpringBoot和MySQL实例中。

  • 服务重启 在部署完成后,通过Jenkins脚本进行自动化操作,将需要执行的重启命令触发。此外,通过Docker命令备份现有配置文件,以防万一。

  • 维护与更新

  • 容器管理 通过Docker Compose文件管理各服务容器。定期检查容器状态,及时处理崩溃情况。

  • 配置备份 在每次部署之前将重要配置文件备份到远程存储,确保在紧急情况下能够快速恢复。

  • 自动化重启 烘焙部署完成后,通过脚本自动触发服务重启。确保各项服务能够正常运行,系统稳定性得到保障。

  • 通过以上步骤,可以清晰地实现SpringBoot+Vue+Redis+MySQL前后端分离项目的高效部署与管理。这一方案充分利用了Docker技术优势,使开发流程更加简化,可维护性得到提升。

    转载地址:http://uzcyk.baihongyu.com/

    你可能感兴趣的文章
    non linear processor
    查看>>
    Non-final field ‘code‘ in enum StateEnum‘
    查看>>
    none 和 host 网络的适用场景 - 每天5分钟玩转 Docker 容器技术(31)
    查看>>
    None还可以是函数定义可选参数的一个默认值,设置成默认值时实参在调用该函数时可以不输入与None绑定的元素...
    查看>>
    NoNodeAvailableException None of the configured nodes are available异常
    查看>>
    Vue.js 学习总结(16)—— 为什么 :deep、/deep/、>>> 样式能穿透到子组件
    查看>>
    nopcommerce商城系统--文档整理
    查看>>
    NOPI读取Excel
    查看>>
    NoSQL&MongoDB
    查看>>
    NoSQL介绍
    查看>>
    NoSQL数据库概述
    查看>>
    Notadd —— 基于 nest.js 的微服务开发框架
    查看>>
    NOTE:rfc5766-turn-server
    查看>>
    Notepad ++ 安装与配置教程(非常详细)从零基础入门到精通,看完这一篇就够了
    查看>>
    Notepad++在线和离线安装JSON格式化插件
    查看>>
    notepad++最详情汇总
    查看>>
    notepad++正则表达式替换字符串详解
    查看>>
    notepad如何自动对齐_notepad++怎么自动排版
    查看>>
    Notes on Paul Irish's "Things I learned from the jQuery source" casts
    查看>>
    Notification 使用详解(很全
    查看>>