博客
关于我
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/

    你可能感兴趣的文章
    mysql中like % %模糊查询
    查看>>
    MySql中mvcc学习记录
    查看>>
    mysql中null和空字符串的区别与问题!
    查看>>
    MySQL中ON DUPLICATE KEY UPDATE的介绍与使用、批量更新、存在即更新不存在则插入
    查看>>
    MYSQL中TINYINT的取值范围
    查看>>
    MySQL中UPDATE语句的神奇技巧,让你操作数据库如虎添翼!
    查看>>
    Mysql中varchar类型数字排序不对踩坑记录
    查看>>
    MySQL中一条SQL语句到底是如何执行的呢?
    查看>>
    MySQL中你必须知道的10件事,1.5万字!
    查看>>
    MySQL中使用IN()查询到底走不走索引?
    查看>>
    Mysql中使用存储过程插入decimal和时间数据递增的模拟数据
    查看>>
    MySql中关于geometry类型的数据_空的时候如何插入处理_需用null_空字符串插入会报错_Cannot get geometry object from dat---MySql工作笔记003
    查看>>
    mysql中出现Incorrect DECIMAL value: '0' for column '' at row -1错误解决方案
    查看>>
    mysql中出现Unit mysql.service could not be found 的解决方法
    查看>>
    mysql中出现update-alternatives: 错误: 候选项路径 /etc/mysql/mysql.cnf 不存在 dpkg: 处理软件包 mysql-server-8.0的解决方法(全)
    查看>>
    Mysql中各类锁的机制图文详细解析(全)
    查看>>
    MySQL中地理位置数据扩展geometry的使用心得
    查看>>
    Mysql中存储引擎简介、修改、查询、选择
    查看>>
    Mysql中存储过程、存储函数、自定义函数、变量、流程控制语句、光标/游标、定义条件和处理程序的使用示例
    查看>>
    mysql中实现rownum,对结果进行排序
    查看>>