微信云托管本身是一个服务器,里面的软件都已经配置好了,直接使用即可,适用于一些简单部署的项目。直接把项目直接上传到服务器即可。无需各种繁琐的软件配置和打包,微信云托管统统给你搞定。而且系统会根据使用量计费,对于一些使用量比较少的系统,也是很划算的。本文从一个 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 添加两个文件 Dockerfilesettings.xml
    • Dockerfile 需要修改打包名称和运行名称
    • settings.xml 不用修改
  • Spring Boot 需要改成 jar 包的打包方式。
  • 项目端口最好配置成默认端口 80

    如果觉得文章对你有帮助的话,请点个推荐吧!

Spring Boot项目微信云托管入门部署的更多相关文章

  1. spring boot项目如何测试,如何部署

    有很多网友会时不时的问我,spring boot项目如何测试,如何部署,在生产中有什么好的部署方案吗?这篇文章就来介绍一下spring boot 如何开发.调试.打包到最后的投产上线. 开发阶段 单元 ...

  2. 从零部署Spring boot项目到云服务器(正式部署)

    上一篇文章总结了在Linux云服务器上部署Spring Boot项目的准备过程,包括环境的安装配置,项目的打包上传等. 链接在这里:http://www.cnblogs.com/Lovebugs/p/ ...

  3. Spring Boot 项目转容器化 K8S 部署实用经验分享

    转载自:https://cloud.tencent.com/developer/article/1477003 我们知道 Kubernetes 是 Google 开源的容器集群管理系统,它构建在目前流 ...

  4. 从零部署Spring boot项目到云服务器(准备工作)

    自己的博客终于成功部署上线了,回过头来总结记录一下整个项目的部署过程! 测试地址:47.94.154.205:8084 注:文末有福利! 一.Linux下应用Shell通过SSH连接云服务器 //ss ...

  5. 【IntelliJ IDEA】spring boot项目在idea实现自动部署

    转载参考自:https://www.cnblogs.com/winner-0715/p/6666579.html spring-boot-devtools是一个为开发者服务的一个模块,其中最重要的功能 ...

  6. Spring框架学习笔记(6)——阿里云服务器部署Spring Boot项目(jar包)

    最近接外包,需要部署服务器,便是参考了网上的几篇博文,成功在阿里云服务器成功部署了Spring Boot项目,特记下本篇笔记 Spring Boot项目打包 这里说一下部署的一些问题 1.mysql驱 ...

  7. spring boot系列01--快速构建spring boot项目

    最近的项目用spring boot 框架 借此学习了一下 这里做一下总结记录 非常便利的一个框架 它的优缺点我就不在这背书了 想了解的可以自行度娘谷歌 说一下要写什么吧 其实还真不是很清楚,只是想记录 ...

  8. Linux云服务部署Spring boot项目

    Linux云服务部署Spring boot项目 背景: 之前经过两个周的时间,做了一个简单的博客网站,网址:点击进入,在本地可以正常使用以后,想着部署到服务器上,给大家伙看个乐呵,于是有了这篇部署文章 ...

  9. Gitlab CI 集成 Kubernetes 集群部署 Spring Boot 项目

    在上一篇博客中,我们成功将 Gitlab CI 部署到了 Docker 中去,成功创建了 Gitlab CI Pipline 来执行 CI/CD 任务.那么这篇文章我们更进一步,将它集成到 K8s 集 ...

随机推荐

  1. 3. scala-spark wordCount 案例

    1. 创建maven 工程 2. 相关依赖和插件 <dependencies> <dependency> <groupId>org.apache.spark< ...

  2. ES6之async与await

    · async - await 是 Promise 和 Generator 的语法糖,目的只是为了让我们书写代码时更加流畅,增强代码的可读性. · async - await 是建立在Promise机 ...

  3. vue之Better-Scroll组件 将滚动条滚到最底部

    首先我们需要使用scrollTo这个方法: scrollTo(x, y, time, easing) 参数: {Number} x 横轴坐标(单位 px) {Number} y 纵轴坐标(单位 px) ...

  4. makefile 编译多个目标

    1.静态库libtools.a源码 libtools.h #ifndef tools_h_ #define tools_h_ int sub(int x,int y); int mul(int x,i ...

  5. Lesson5——Pandas Panel三维数据结构

    pandas目录 1 简介 自 Pandas 0.25 版本后, Panel 结构已经被废弃. pd.__version__ #查看pandas版本 #'1.2.4' #或者 pd.show_vers ...

  6. 业务4P分析实践

    原创不易,求分享.求一键三连 前言 假期继续思考BI未来的方向,其实常规的BI规划也不是不能出,比如公司BI看板建设.数据指标体系建设.业务线UE模型数据监控等,但这种不会超出预期的东西自然也能算技术 ...

  7. AT2699 [ARC081D] Flip and Rectangles

    以下是简要题解: 首先思考如何判定一个矩形是否能通过操作变成全黑. 首先从简单而又特殊的 \(2 \times 2\) 的矩形开始,不难发现只要其中黑色数量不为奇数即可. 近一步拓展可以发现,一个矩形 ...

  8. 在Rainbond中实现数据库结构自动化升级

    Rainbond 这款产品一直致力于打通企业应用交付的全流程,这个流程中不可或缺的一环是企业应用的不断升级.迭代.Rainbond 特有的能力,是可以将囊括多个服务组件的企业应用系统进行打包,并执行一 ...

  9. java中使用反射获取pojo(实体)类的所有字段值

    出处:https://developer.aliyun.com/article/239346 说起反射,不得不说它实在是太强大了,通过反射就可以轻轻松松拿到各种东东,如果你想在项目中解除对某个类的依赖 ...

  10. centos7 安装yum源

    centos7的服务器,没有yum,没有wget命令真的寸步难行,经过总结和查询,现在算搞定了,把经验总结一下,以免大家再浪费时间去找原因: 安装yum需要wget安装yum的rpm包,所以前提是先有 ...