点击上方蓝色“程序猿DD”,选择“设为星标”

回复“资源”获取独家整理的学习资料!

最近有幸试用了一下阿里云的一个新产品:云开发平台,体验一把全新的开发模式!虽然中间也碰到了一些问题,但整体的体验透露着未来感,因为整个过程都不需要使用我们最常用的IDEA,仅依靠浏览器就把一个Spring Boot干上线了!

啥是云开发平台?云开发平台(https://workbench.aliyun.com),是阿里云面向广大开发者提供的云上研发工作平台,助力研发团队实现工作的在线化(团队在线、环境在线、代码在线、协同在线)以及研发模式Serverless化,帮助研发团队实现对行业架构经验及架构服务的高效分享与传播,极致提升研发效率,极致降低研发成本。

下面,我就来分享一下如何在这个平台中开发与部署Spring Boot应用!有兴趣的童鞋,可以点击进入云开发平台,一步步跟我体验完整的开发体验!

基础配置

第一步:创建新应用

第二步:选择“Microservice”,解决方案选择“Spring Boot应用迁移方案(SAE)”或“Spring Boot应用迁移方案(ASK)”。之前写过很多Spring Boot例子,所以就用迁移方案试试把已经开发好的Spring Boot拉进来的场景吧!

第三步:输入Spring Boot应用相关的信息

点击“完成”之后,可以在应用列表中看到刚刚完成创建的hello-world应用。

从上面的卡片元素中,我们可以看到,虽然只是简单的一个创建应用操作,实际上做了非常多的事情,比如:分配环境、创建Git仓库等。

应用开发

在云开发平台中可以通过两种方式进行开发:在线开发(浏览器中完成)、线下开发(传统编辑器开发)。

在线开发

点击应用卡片中的“开发部署”,就会进入到下面的云开发页面:

在左中位置可以看到该项目中已经有的文件(主要一些镜像构建配置、运行脚本和说明文档等)。

拿出我们以前的Spring Boot样例(如果你没玩过Spring Boot,可见免费系列教程),拖一个以前写过的Spring Boot应用进来试试:

拖入代码之后,根据云开发平台的规范要求,需要对项目组织做一些修改,所以打开pom.xml,做如下配置修改:

  1. properties中添加applicationName配置,必须要有,不能省略

  2. build中添加finalName配置,必须与****applicationName一致,所以也可以用引用的方式

  3. 配置spring-boot-maven-plugin插件,打包格式使用ZIP、注意修改应用主类路径

在线测试

在完成了项目的导入之后,我们尝试运行该应用。

  1. 点击底部的“终端”标签

  2. 在命令行中输入:mvn spring-boot:run

不出意外,终端将输出类似下面的内容,应用成功启动!

但是应用是启动到云平台上,并非本地,我们要如何验证应用提供的接口呢?

点击上面的“预览”按钮,然后在顶部弹出框中输入想要暴露的端口号,比如:8080

根据提示,按回车之后,右下方会出现是否立即访问的提示,直接点击访问就可以进入到可访问的域名地址(该地址映射到了云平台上的启动地址)

file

代码提交

在完成了上面的相关开发工作之后,通常我们要关注的就是代码的提交。这时候就可以点击左侧的分支图标,将修改代码进行 commit

然后点击左下方的箭头,将代码push进仓库(关于Git相关的操作,一开始没摸着头脑,不是很流畅,期待后续有更好的用户体验改进)

本地开发

也许你可能觉得目前的在线编辑器还不够强大,比如上面我们就看到对于pom.xml都还没有高亮显示。那么这个时候,你也可以选择本地开发模式。只需要在应用卡片中点击“代码仓库”,进入到下面的页面中,将你本地的ssh密钥输入保存,然后就可以根据代码仓库将该应用的Git仓库拉到本地进行开发了!

file

小建议:可以看到这里的仓库名称是按日期时间来构建的,如果使用在线开发还好,对这块内容不敏感。但是如果想在本地开发,这样的命名对于用户来说就不那么友好,有时候会以为是个临时目录,期待后续会有所改进!

应用部署

在完成了应用开发,本地测试之后,我们要做的就是应用交付与部署。所以,我们接下来试试这个平台的部署功能!

在进行部署之前,我们需要先检查一下当前环境是否具备部署条件。点击应用卡片中的“环境管理”按钮,可以看到如下页面:

file

如果里面有依赖的云服务没有开通,那么就点击立即开通去逐个开通服务,不然后续的部署过程就无法正常完成。

如果你的应用中涉及到一些环境变量的使用,那么继续点击应用卡片中的“应用配置”来设置。

file

如果你的应用需要多人一起开发,那么在“成员管理”中可以用阿里云账号把其他开发者加入进来,他们就也可以跟你一样访问你的应用代码了。

file

准备就绪,继续正题。继续打开开发部署界面,点击左侧栏第一个按钮,可以看到部署栏弹出:

file

选择好要部署的环境(日常环境、预发环境、线上环境),先选择第一个环境:日常环境,点击部署。

关于环境,这里目测还不能对环境进行添加或修改。还是比较期待对环境有一定的灵活性配置,不论从名称还是环境的数量上,不同的管理风格还是有很多种不同可能的。

file

点击“继续部署”,开始完成整个CI与CD过程:

file

从日志中的日志链接进入,还可以看到当前容器的构建情况:

file

如果出问题,那就点击日志可以看到具体情况,比如:

file

如果你的服务之前都已经开通,项目配置也都没问题,那么就会如下面这样,完成部署。在部署完成后会输出可访问的域名,你可以用它来访问你提供的接口来验证应用是否启动正确。

file

持续部署

上面我们完成了一个环境的部署,已经覆盖了CI和CD的基础操作。下面来试一下持续部署(CD)部分的灵活性。

在部署栏中,选择其他环境试试

file

可以看到有一个特殊的选项:将日常环境发布到预发环境。勾选之后就是把日常环境的镜像部署到预发环境,符合CD的定义,如果不勾选就会重新编译再部署,就又是一次完整的CI + CD过程了。

file

应用下线

下线操作很简单,只需要在对应的应用卡片中找到对应环境的按钮,如果是绿色状态就是服务中,只需要点击一下,就可以开始执行应用的下线操作了。

file

但是,目前下线有时候会碰到比较慢的情况,比如我在卡片中点了下线,卡片中状态已经变为Offline,但是在开发部署页面中中还无法重新部署,日志显示还在卸载任务。

file

一些小建议

日志中的环境说明与环境定义匹配不上,建议有统一的描述与说明

file

xml没有高亮,编辑有点吃力

file

开始部署之后,没有手工终止的操作,如果操作失误,就只能等着

file

总结

云开发平台这个新产品使用下来虽然还是有一些感觉不舒服的地方,但是总体使用体验还是能解决不少开发效率问题的,尤其对于我这样的独立开发者(协作内容还弱一些,但是我不需要,哈哈)。基本上从开发、测试、上线等我最常用的功能都能够覆盖,同时浏览器中的开发平台是我比较喜欢的,虽然目前来说想较IDEA还是有很大的功能性差距,但是基础功能已经具备,在开发流程上是没有障碍的。但由于不需要配置运行环境、安装编辑器等优点,开发工作就变得比较轻量化。

另外还有一点小发现,让人有更多的联想。在该平台的菜单中点击右上角的头条,点击“账号设置”,居然跳到了团队协作软件Teambition的阿里云版本:云效协作。所以,之前让我觉得协作功能还比较弱的感受,可能在未来还会有更大的发挥空间。这两者的结合,将来就可以从需求管理、研发管理、运维管理等一路都打通,但是具体会做成什么样呢?期待这个平台后续给我们展现他们的产品吧!

活动推荐

现在这个平台正在进行“万人Say hello world”活动,参与完成一个案例,每天都有抽奖,奖品丰富喜人!前几天,我也参与了一下。如果也有兴趣,学习一下这种轻量级的开发方式,点击这篇文章查看最详细的完成路径:Serverless 初体验:快速开发与部署一个Hello World(Java版)

往期推荐

使用IntelliJ IDEA查看类图,内容极度舒适

VS Code的7个开源替代品

Stack Overflow 2020 开发者调查中的 21 条关键结果

京东把 Elasticsearch 用得真牛逼!日均5亿订单查询完美解决!

后端必备:15000 字的 SQL 语句大全

扫一扫,关注我

一起学习,一起进步

点击“阅读原文”直达Spring Boot免费教程

居然仅用浏览器,就完成了Spring Boot应用的开发与部署!相关推荐

  1. git上托管的代码如何部署在阿里云上_居然仅用浏览器搞定Spring Boot应用的开发与部署...

    最近有幸试用了一下阿里云的一个新产品:云开发平台,体验一把全新的开发模式!虽然中间也碰到了一些问题,但整体的体验透露着未来感,因为整个过程都不需要使用我们最常用的IDEA,仅依靠浏览器就把一个Spri ...

  2. Spring Boot(5) web开发(3)拦截器、文件上传、异常处理

    Spring Boot(5) web开发(3)拦截器.文件上传.异常处理 学习视频: https://www.bilibili.com/video/BV19K4y1L7MT?p=49&spm_ ...

  3. Spring boot实训开发个人博客(二)详情页

    Spring boot实训开发个人博客(二)详情页 1.在index页面添加归档: 2.开始写详情页: 1.头部文件: 2.添加文章内容 <h2 class="ui center al ...

  4. Spring Boot之Web开发

    Web开发 简单了解 快速上手 JSON 的支持 RESTful 的支持 支持热部署 快速上手 拦截器与过滤器 自定义过滤器 示例 自定义拦截器 示例 打包部署 多环境配置 服务器配置 项目打包 简单 ...

  5. Spring Boot与web开发

    Spring Boot与web开发 1. 2. 3. 4. 5. 6. 7. 8. 9. 0. 四.Web开发 1.简介 使用SpringBoot: 1).创建SpringBoot应用,选中我们需要的 ...

  6. 6.3 Spring Boot集成mongodb开发

    6.3 Spring Boot集成mongodb开发 本章我们通过SpringBoot集成mongodb,Java,Kotlin开发一个极简社区文章博客系统. 0 mongodb简介 Mongo 的主 ...

  7. Spring Boot常见企业开发场景应用、自动配置原理结构分析

    读者应具备: Spring SpringMVC服务器端开发基础 Maven基础 本篇主要介绍Spring Boot在企业开发中常见场景的使用.以及Spring Boot的基本原理结构. 以下为本篇设计 ...

  8. JavaEE + Oracle + Spring Boot + Mybatis + Maven 开发简易版银行管理系统(附源码)

    文章目录 JavaEE + Oracle + Spring Boot + Mybatis + Maven 开发简易版银行管理系统 一.系统介绍 二.开发步骤 三.系统展示 四.开发总结 五.数据库相关 ...

  9. Spring Boot Maven聚合工程 打包部署教程

    Spring Boot 给聚合工程 打包部署,这里打jar包进行部署,首先等保证父子工程能正常运行,依赖都能加载,不会造成maven之间循环依赖等问题,如图 从上面的图来看,就会发生循环依赖的问题,这 ...

最新文章

  1. 如何用CMD递归查看Windows中文件夹结构 也叫做树形结构!
  2. 深度强化学习的现在,将来与未来
  3. Boost:BOOST_ASSERT_MSG扩展的用法测试程序
  4. 浏览器打开php显示空白,pc微信浏览器打开页面显示空白,其他浏览器正常
  5. 一条来自 GitHub 重磅消息!
  6. 安卓应用安全指南 4.6.3 处理文件 高级话题
  7. c socket双向通信 qq linux,请问如何实现像QQ那样2个内网用户的点到点SOCKET通信?...
  8. 20051129: NetBeans
  9. 爬虫+pyecharts数据分析实例:当当网
  10. Cloudera Manager安装之Cloudera Manager 5.3.X安装(三)(tar方式、rpm方式和yum方式)...
  11. [Java] 蓝桥杯ALGO-62 算法训练 平方计算
  12. java 访问 usb
  13. 芯原股份正式加入UCIe产业联盟
  14. SQLMAP 脱库过程(get请求)
  15. jsp文件上传图片到服务器
  16. 【2022最新版】Java基础面试题总结(70道题含答案解析)
  17. ARP协议及欺骗原理
  18. 分布式架构,Java高级工程师必看系列
  19. 康涅狄格大学计算机科学排名,2015年US News美国大学计算机专业 Computer Science排名?...
  20. 淘宝/天猫、1688、京东按图搜索淘宝商品(拍立淘)API接口

热门文章

  1. linux非lvm分区在线扩容,怎么给不是LVM的根分区扩容
  2. 工业机器人几个自由度_取件冲压上下料机械手和六自由度工业机器人805A
  3. linux多任务切换快捷键,Windows 10十月更新导致Alt+Tab多任务切换快捷键出错
  4. 监控mysql的shell脚本_监控MySQL主从状态的shell脚本
  5. js会用php处理吗,js怎么跟php结合使用
  6. 图像隐藏matlab代码,picture Matlab简单操作实现图像的隐藏加密 联合开发网 - pudn.com...
  7. Problem 63 何时该用glDrawTexiOES?
  8. 深信服5月26日笔试
  9. 利用计算机解决问题实际依赖,行测答题技巧:准确把握加强、削弱的“相关性”...
  10. ipmitool 设置网关_IPMI (Intelligent Platform Management Interface)