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

    你可能感兴趣的文章
    npm安装教程
    查看>>
    npm报错Cannot find module ‘webpack‘ Require stack
    查看>>
    npm报错Failed at the node-sass@4.14.1 postinstall script
    查看>>
    npm报错fatal: Could not read from remote repository
    查看>>
    npm报错File to import not found or unreadable: @/assets/styles/global.scss.
    查看>>
    npm报错unable to access ‘https://github.com/sohee-lee7/Squire.git/‘
    查看>>
    npm淘宝镜像过期npm ERR! request to https://registry.npm.taobao.org/vuex failed, reason: certificate has ex
    查看>>
    npm版本过高问题
    查看>>
    npm的“--force“和“--legacy-peer-deps“参数
    查看>>
    npm的安装和更新---npm工作笔记002
    查看>>
    npm的常用操作---npm工作笔记003
    查看>>
    npm的常用配置项---npm工作笔记004
    查看>>
    npm的问题:config global `--global`, `--local` are deprecated. Use `--location=global` instead 的解决办法
    查看>>
    npm编译报错You may need an additional loader to handle the result of these loaders
    查看>>
    npm设置淘宝镜像、升级等
    查看>>
    npm设置源地址,npm官方地址
    查看>>
    npm设置镜像如淘宝:http://npm.taobao.org/
    查看>>
    npm配置安装最新淘宝镜像,旧镜像会errror
    查看>>
    NPM酷库052:sax,按流解析XML
    查看>>
    npm错误 gyp错误 vs版本不对 msvs_version不兼容
    查看>>