基于函数计算自定义运行时快速部署一个 springboot 项目

Serverless

共 3905字,需浏览 8分钟

 ·

2022-07-25 16:53


点击上方图片了解活动详情!


哈喽各位开发者,为了帮助大家客观了解并使用阿里云函数计算,阿里云开发者社区携手云原生应用平台发布 Serverless 函数计算征集令,提供免费资源额度邀请你发文评测7月31日前参与活动,即有机会获得千元好礼 + 千元函数计算资源包!
立即参加:https://developer.aliyun.com/topic/serverless2022

 悄悄说...现在投稿还可领取优酷视频季卡一张喔,阿 Ser 精选出一些活动中的优秀征文推荐给大家:

下面我们看看笔友 “谱一段风华笔墨” 是如何基于函数计算自定义运行时,快速部署一个 springboot 项目的。

什么是函数计算?


阿里云函数计算 FC 是事件驱动的全托管计算服务。使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码。函数计算为您准备好计算资源,弹性地可靠地运行任务,并提供日志查询、性能监控和报警等功能,借助函数计算,您可以快速构建任何类型的应用和服务,并且只需为任务实际消耗的资源付费。

开发步骤


开通函数计算


开通前需要您已注册阿里云账号并完成实名认证,进入函数计算官网函数计算:

https://fcnext.console.aliyun.com


如果您还未开通函数计算,需在函数计算开通页面勾选函数计算服务协议之后点击 “立即开通”,开通完成后会自动跳转至函数计算控制台。



新建服务


在函数计算控制台点击 “服务及函数” 进入服务列表,在服务列表点击创建服务,填写服务的配置,点击 “确认” 即可创建服务。


(注:开启日志和链路追踪功能可以更方便的进行代码调试、故障分析、数据分析和查看函数内部时间的消耗等;推荐开启,但可能会收取部分费用)。



新建函数


在服务列表下点击创建的服务名称进入函数管理页面,点击 “创建函数”,在创建函数页面选择 “使用自定义运行时创建” 填写函数的相关配置,在运行环境中选择 Java 17 的示例模版函数。


配置完成后页面下拉至底部点击 “创建” 即可部署一个 springboot 项目。


自定义域名配置

函数创建完成后直接在浏览器中直接打开请求地址,将会以附件的方式下载响应。

这是因为 Http 触发器会自动在响应头中添加 Content-Disposition: attachment 字段,我们可以使用自定义域名避免该问题。

进入域名管理页面点击添加自定义域名,在路由配置中选择自己创建的服务和函数,配置完成后,就可以在浏览器中输入配置的域名,可以看到页面显示的 Hello World! 内容。

到此一个简单的 springboot 项目就部署配置完成了。

开发


导出代码


继续进行项目开发,我们可以在函数计算控制台,进入到该函数的详情页面,在函数代码页使用在线 IDE 进行开发和调试,也可以在 “导出函数” 这里导出函数的代码,使用自己的代码编辑器进行开发。



代码结构



pom.xml:

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">    <modelVersion>4.0.0</modelVersion>    <parent>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-parent</artifactId>        <version>2.6.6</version>        <relativePath/> <!-- lookup parent from repository -->    </parent>    <groupId>com.example</groupId>    <artifactId>demo</artifactId>    <version>0.0.1-SNAPSHOT</version>    <name>demo</name>    <description>Demo project for Spring Boot</description>    <properties>        <java.version>17</java.version>    </properties>    <dependencies>        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-web</artifactId>        </dependency>
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies>
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
</project>
DemoApplication:
package com.example.demo;
import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication@RestControllerpublic class DemoApplication {
public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); }
@GetMapping("/") public String hello(@RequestParam(value = "name", defaultValue = "World") String name) { return String.format("Hello %s!", name); }
}
配置监听端口

在 application.properties 配置文件中添加监听端口,这里的配置端口需要和函数配置的监听端口保持一致:

总结


本次体验,使用函数计算部署了一个 springboot 项目,总体来说过程很流畅,只需要在控制台点点就可以生成并部署好一个项目,对于新手来说非常的友好,省去一大堆传统部署项目时的环境搭建,安装依赖等等,可以真正的让我们做到只关心业务逻辑的开发!

函数计算评测活动火热进行中

扫描下方二维码立即参加 ⬇


戳下方,立即查看作者原文!

浏览 32
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报