写点什么

使用函数计算自定义运行时快速部署一个 SpringBoot 项目 | 文末有礼

  • 2022 年 8 月 26 日
    浙江
  • 本文字数:2095 字

    阅读完需:约 7 分钟

作者: 谱一段风华笔墨

什么是函数计算

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

开发步骤

开通函数计算

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


https://fcnext.console.aliyun.com


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


1.png

新建服务

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


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


2.png

新建函数

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


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


3.png


4.png

自定义域名配置

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


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


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


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


5.png


6.png


7.png


8.png

开发

导出代码

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


9.png

代码结构

10.png


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 配置文件中添加监听端口,这里的配置端口需要和函数配置的监听端口保持一致:


11.png


12.png

总结

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


点击此处,查看产品更多信息~

发布于: 刚刚阅读数: 3
用户头像

阿里巴巴云原生 2019.05.21 加入

还未添加个人简介

评论

发布
暂无评论
使用函数计算自定义运行时快速部署一个 SpringBoot 项目 | 文末有礼_阿里云_阿里巴巴云原生_InfoQ写作社区