SpringBoot项目微信云托管入门部署实践

 更新时间:2022年03月10日 15:28:53   作者:小码code  
本文主要介绍了SpringBoot项目微信云托管入门部署实践,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

微信云托管本身是一个服务器,里面的软件都已经配置好了,直接使用即可,适用于一些简单部署的项目。直接把项目直接上传到服务器即可。无需各种繁琐的软件配置和打包,微信云托管统统给你搞定。而且系统会根据使用量计费,对于一些使用量比较少的系统,也是很划算的。本文从一个 Spring Boot 项目简单部署云托管项目。

云托管简介

官网 显示微信云托管的几个优势:

  • 开箱即用
  • 支持多种后端语言
  • 自动扩容

云托管相对传统项目的优势

  • 发布一个简单的 demo 在linux服务器

    • 创建 springboot 项目
    • 将 springboot 项目打成war 包
    • 在 linux 服务器安装 jdk、tomcat,阿里云或者腾讯云开放对应的端口
    • 安装 mysql
    • 执行sql 语句
    • 上传 war 包到 tomcat 服务器
  • 对应的云托管

    • 创建 springboot 项目
    • 在云托管数据库执行 sql 语句
    • 上传springboot文件

云托管直接上传项目文件即可。

入门

进入控制台后,找到 服务列表 -> 新建服务

写好服务名称后,选择不同方式上传代码,这里有 githubgitlabgitee手动上传代码包 等等。我这里选择了使用手动上传代码包。

此处上传的代码和Spring Boot项目区别在于这里上传的代码需要添加额外的两个文件, Dockerfilesettings.xml,文件在 https://github.com/WeixinCloud/wxcloudrun-springboot 可以找到:

Dockerfile

Dockerfile 配置 docker 环境,里面主要命令是项目打包、运行。
这里的打包是打成一个 jar 包,如果项目是原来打成一个 war 包,要改成打成 jar 包。
需要将 pom.xml

<packaging>jar</packaging>  

改成

<packaging>war</packaging>  

Dockerfile 还有打包和运行的命令,修改下面用红框框起来的数据,改成打包的名称:

settings.xml

settings.xml是 maven 打包的依赖项配置。默认使用腾讯云maven依赖,不需要改动配置。

为了减少项目线上部署调试时间,先在本地执行打包命令,确保打包成功:

mvn clean package

如果打包成功,直接上传文件,这里为了减少上传时间,可以先对文件进行压缩。

上面的端口要和springboot里面配置的端口要一致,最好在 application.yml 配置文件设置默认端口80,省去每次发布项目都要修改端口的麻烦。

上传成功之后,点击发布。发布成功之后访问公网地址。如下图所示:

走完一遍流程,发现云托管有几个不足的地方:

  • 发布时间大概要花7,8分钟,主要是花在下载 maven 依赖的时间比较多。
  • 如果 maven 依赖在本地配置,就不能在云托管使用依赖。

以上两个问题,如果使用上传打包好的 jar 包,就能解决这个问题,期待后续能支持上传 jar 包的选项。

总结

  • 如果部署一些不太复杂的项目,微信云托管是一个不错的选择,可以根据配置使用,自动扩容。
  • Spring Boot 添加两个文件 Dockerfile 和 settings.xml
    • Dockerfile 需要修改打包名称和运行名称
    • settings.xml 不用修改
  • Spring Boot 需要改成 jar 包的打包方式。
  • 项目端口最好配置成默认端口 80

到此这篇关于SpringBoot项目微信云托管入门部署实践的文章就介绍到这了,更多相关SpringBoot项目微信云托管内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot 项目添加 MDC 日志链路追踪的执行流程

    SpringBoot 项目添加 MDC 日志链路追踪的执行流程

    日志链路追踪就是将一个标志跨线程进行传递,在一般的小项目中也就是在你新起一个线程的时候,或者使用线程池执行任务的时候会用到,比如追踪一个用户请求的完整执行流程,本文给大家介绍SpringBoot MDC 日志链路追踪的代码,感兴趣的朋友一起看看吧
    2021-06-06
  • Java中finally和return的关系实例解析

    Java中finally和return的关系实例解析

    这篇文章主要介绍了Java中finally和return的关系实例解析,总结了二者的关系,然后分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-02-02
  • 实例解析观察者模式及其在Java设计模式开发中的运用

    实例解析观察者模式及其在Java设计模式开发中的运用

    观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己.下面就以实例解析观察者模式及其在Java设计模式开发中的运用
    2016-05-05
  • Java IO中字节流复制图片实现代码

    Java IO中字节流复制图片实现代码

    这篇文章主要介绍了Java IO中字节流复制图片实现代码的相关资料,需要的朋友可以参考下
    2017-04-04
  • 获取Java加载器和类完整结构的方法分享

    获取Java加载器和类完整结构的方法分享

    这篇文章主要为大家详细介绍了获取Java加载器和类完整结构的方法,文中的示例代码讲解详细,对我们学习Java有一定的帮助,需要的可以参考一下
    2022-12-12
  • springboot2.0集成rabbitmq的示例代码

    springboot2.0集成rabbitmq的示例代码

    这篇文章主要介绍了springboot2.0集成rabbitmq的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • java异常中throw和throws的区别及说明

    java异常中throw和throws的区别及说明

    这篇文章主要介绍了java异常中throw和throws的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Java返回文件时为图片或pdf等设置在线预览或下载功能

    Java返回文件时为图片或pdf等设置在线预览或下载功能

    这篇文章主要介绍了Java返回文件时为图片或pdf等设置在线预览或下载功能,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-01-01
  • java中instanceof 关键字作用和实际用途详解

    java中instanceof 关键字作用和实际用途详解

    这篇文章主要介绍了java中instanceof 关键字作用和实际用途,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • Java编程中利用InetAddress类确定特殊IP地址的方法

    Java编程中利用InetAddress类确定特殊IP地址的方法

    这篇文章主要介绍了Java编程中利用InetAddress类确定特殊IP地址的方法,InetAddress类是Java网络编程中一个相当实用的类,需要的朋友可以参考下
    2015-11-11

最新评论