使用 Serverless Devs 插件快速部署前端应用

简介: 近期函数计算和 @serverless-devs/s 都更新了一系列的功能, 目前部署静态网站的步骤可以更为简洁了!

作者:邓超  Serverless Devs 开源贡献者

背景

我们在上文 [Aliyun] [FC] 如何使用 @serverless-devs/s 部署静态网站到函数计算 中,详细的介绍了如何通过 @serverless-devs/s 将已经开发好了的静态网站部署到阿里云函数计算(FC)上, 但是近期函数计算和 @serverless-devs/s 都更新了一系列的功能, 目前部署静态网站的步骤可以更为简洁了!

使用 website-fc 插件部署静态网站到 Custom Runtime 函数

假设我们现在有如下结构的前端工程:

/
├ dist/ 待部署的构建产物
│  └ index.html 
├ src/
└ package.json

step 3.安装 @serverless-devs/s 并编写 s.yaml

你问我步骤 1 和 2 去哪儿了? 当然是省掉了!

添加 @serverless-devs/s 命令行工具到工程:

然后在根目录下创建一个基础的 s.yaml 配置文件:

# https://github.com/devsapp/fc/blob/main/docs/zh/yaml/
edition: 1.0.0
name: my-awesome-website-project
services:my-service: # 任意的名称actions:pre-deploy:- plugin: website-fc     # 在 pre-deploy 插槽中安装 website-fc 插件component: devsapp/fc       # 使用 fc 组件props:region: cn-shenzhen       # 部署到任意的可用区, 例如深圳.service:name: my-awesome-websites   # 深圳可用区的 my-awesome-websites 服务function:name: website-fc-plugin    # my-awesome-websites 服务下的一个函数runtime: custom        # 使用 custom 运行环境handler: dummy-handler     # 由于使用了 custom 运行环境, 所以这里可以随便填codeUri: ./dist        # 部署 dist 文件夹下的全部内容triggers:- name: httptype: http        # 创建一个 HTTP 类型的触发器, 以便客户端可以通过 HTTP 协议进行访问config:authType: anonymous    # 允许匿名访问methods: [ HEAD, GET ]  # 静态网站只需要处理 HEAD 和 GET 请求就够了

与上文中不同的地方在于:

actions:pre-deploy:- plugin: website-fc     # 在 pre-deploy 插槽中安装 website-fc 插件

在 pre-deploy 插槽中安装的 website-fc 插件能代替上文中的步骤 1 和步骤 2;

以及:

现在不必将整个工程部署到函数中, 只需要部署构建好的静态文件了。

step 4.部署到函数计算

配置好 AccessKey 和 AccessSecret 后(opens new window), 详情参考:Redirecting,执行命令:

你的网站就部署上去啦。

接下来就是配置自定义域名了, 配置好以后就可以通过你自己的域名访问到这个网站了。

step 5. 配置自定义域名

以自定义域名 deploy-static-website-with-website-fc-plugin.example.dengchao.fun 为例。

首先添加 CNAME 记录, 解析值填写 ${UID}.${REGION}.fc.aliyuncs.com。因为我们的 s.yaml 中设置的 region 是 cn-shenzhen, 所以对应的值就是 xxxxxx.cn-shenzhen.fc.aliyuncs.com 。

接下来设置函数计算控制台上的自定义域名:

访问一下试试看: http://deploy-static-website-with-website-fc-plugin.example.dengchao.fun(opens new window)

样本工程

本文中的样本工程已经上传到 GitHub:

https://github.com/DevDengChao/deploy-static-website-with-website-fc-plugin-example(opens new window)

参考

[1] 阿里云函数计算-产品简介(opens new window)

什么是函数计算 - 函数计算 - 阿里云

[2] 资源使用限制(opens new window)

资源使用限制 - 函数计算 - 阿里云

[3] 自定义运行环境(opens new window)

Custom Runtime简介 - 函数计算 - 阿里云

[4] 配置自定义域名(opens new window)

配置自定义域名 - 函数计算 - 阿里云

[5] Serverless devs 官网(opens new window)

Serverless Devs - Serverless 应用全生命周期管理工具 / Serverless 中文社区

[6] 配置 AccessKey 和 AccessSecret(opens new window)

Redirecting

[7] website-fc 插件

https://github.com/devsapp/website-fc

原文链接

本文为阿里云原创内容,未经允许不得转载。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/511042.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于 EventBridge 构建数据库应用集成

简介:本文重点介绍 EventBridge 的新特性:数据库 Sink 事件目标。 作者:赵海 引言 事件总线 EventBridge 是阿里云提供的一款无服务器事件总线服务,支持将阿里云服务、自定义应用、SaaS 应用以标准化、中心化的方式接入&#x…

如何合理使用 CPU 管理策略,提升容器性能?

简介:CPU Burst、拓扑感知调度是阿里云容器服务 ACK 提升应用性能的两大利器,它们解决了不同场景下的 CPU 资源管理,可以共同使用。点击下文,查看详情! 作者:张佐玮(佑祎) 前言 在…

技术盘点:容器技术的演进路线是什么?未来有哪些想象空间?

简介:回顾2021年,云原生领域有哪些重要意义的事件? 回顾2021年,云原生领域有哪些重要意义的事件? 1. 基于容器的分布式云管理加速落地: 2021年5月阿里云峰会上,阿里云发布了一云多形态的部署…

如何快速构建服务发现的高可用能力

简介:保障云上业务的永远在线,是 MSE 一直在追求的目标,本文通过面向失败设计的服务发现高可用能力的分享,以及 MSE 的服务治理能力快速构建起服务发现高可用能力的演示,模拟了线上不可预期的服务发现相关异常发生时的…

火山引擎发布新一代数智平台VeDI,以数据驱动企业数字化增长

数据是“新石油”,经过提炼加工才能创造价值。 9月2日,火山引擎数据智能科技峰会在杭州举办。会上,火山引擎发布新一代企业级数据产品——数智平台VeDI(Volcengine Data Intelligence),包括数据引擎、数据…

阿里云服务网格 ASM 正式发布商业化版本

简介:为了更好地满足企业日益加深的大规模使用服务网格产品、服务多语言互通、服务精细治理等需求,2022 年 4 月 1 日起,阿里云服务网格产品 ASM 正式发布商业化版本,为企业在生产环境下大规模落地服务网格能力提供性能、安全、高…

Redis消息队列发展历程

简介:Redis是目前最受欢迎的kv类数据库,当然它的功能越来越多,早已不限定在kv场景,消息队列就是Redis中一个重要的功能。Redis从2010年发布1.0版本就具备一个消息队列的雏形,随着10多年的迭代,其消息队列的…

手机+卫星,到底有多难?

作者 | 小枣君来源 | 鲜枣课堂这几天,关于卫星手机的新闻又火了。根据媒体报道,9月6日即将发布的华为Mate 50系列手机,将具备“卫星通信能力”,在没有网络的地方,可通过卫星系统发送紧急短信。无独有偶,另有…

一线技术人的成长思考总结

简介: 作为长期奋战在一线的技术人,我深刻体会到几个思维能力对技术人成长的重要性,熟练运用这几种思维可以帮助我们快速的进入到新的领域,在分析、定位和解决问题上有很大帮助。作为长期奋战在一线的技术人,我深刻体会…

sealer背后实现整个集群一键交付的奥秘 | 龙蜥技术

简介:解读集群镜像“开箱即用”神器——sealer! 编者按:集群镜像把整个集群看成一台服务器,把 k8s 看成云操作系统,实现整个集群的镜像化打包和交付,为企业级软件提供一种“开箱即用”的应用封装技术。本文…

突发!GitHub 将关闭 Trending 热榜,开发者不答应

作者 | 苏宓出品 | CSDN(ID:CSDNnews)今天,当登录到 GitHub 上时,GitHub Trending 页面突然显示了这样一则通知:Heads up! This Trending tab is being deprecated. Due to low usage of Trending Reposito…

如何设计一条稳定的应用交付流程?|云效工程师指北

简介:如何设计一条稳定的应用交付流程?为持续交付的过程提供了规范化的可能,也引入了让人不时埋首于配置文件的小山里的麻烦。我们不妨从一次略有波折、稍显隐患的集成部署案例开始,看看如何着手设计一条更为稳定的应用交付流程。…

阿里云混合云开放网络生态的探索与实践

简介:2022年F5多云应用服务科技峰会于4月正式召开。阿里云智能混合云平台高级网络架构师张然(然犀)应邀于合作伙伴生态专场分享了阿里云混合云在开放网络生态领域的探索与实践。 2022年F5多云应用服务科技峰会于4月正式召开。阿里云智能混合…

阿里云启动超级智算中心,总算力达12 EFLOPS

8月30日,阿里云宣布正式启动张北超级智算中心,总建设规模为12 EFLOPS(每秒1200亿亿次浮点运算)AI算力,将超过谷歌的9 EFLOPS和特斯拉的1.8 EFLOPS,成为全球最大的智算中心,可为AI大模型训练、自…

领域驱动编程,代码怎么写?

简介:领域驱动开发最重要的当然是正确地进行领域拆解,这个拆解工作可以在理论的指导下,结合设计者对业务的深入分析和充分理解进行。本文假定开发前已经进行了领域划分,侧重于研究编码阶段具体如何实践才能体现领域驱动的优势。 …

8年持续增长,全闪存厂商PureStorage分享存储智能化的三大重要指标

作者 | 宋慧 出品 | CSDN云计算 从PureStorage去年宣布为现代数据应用提供多云环境提供存储即服务,已经过去了快一年时间。全闪存技术厂商PureStorage最近再次接受CSDN采访,分享这一年的发展和对全闪存市场的分析。 首先,今年PureStorage继…

深度解密|基于 eBPF 的 Kubernetes 问题排查全景图发布

简介:通过 eBPF 无侵入地采集多语言、多网络协议的黄金指标/网络指标/Trace,通过关联 Kubernetes 对象、应用、云服务等各种上下文,同时在需要进一步下钻的时候提供专业化的监测工具(如火焰图),实现了 Kube…

技术抉择:阿里云13年后重构全部核心调度系统

简介:在阿里云十三年的发展历史上,重新设计调度系统算得上是一个重要的技术抉择。 在阿里云十三年的发展历史上,重新设计调度系统算得上是一个重要的技术抉择。 云计算是一个庞大的技术工程。2009 年,阿里云从 0 到 1 自建国产云…

Redis 的数据被删除,内存占用还这么大?

作者 | 码哥来源 | 码哥字节操作系统分配给 Redis 的内存有 6GB,通过指标 used_memory_human 发现存储数据只使用了 4GB,为何会这样?为何无法保存数据?通过 CONFIG SET maxmemory 100mb或者在 redis.conf 配置文件设置 maxmemory …

阿里云架构师解读四大主流游戏架构

简介:游戏行业是阿里云最早聚焦的行业之一,近年来游戏行业的变化、云计算产品技术的变化都与日俱进。随着行业业务的变化、技术架构的演进以及阿里云产品的迭代演进,整体的产品技术选型在不同的游戏场景、业务场景也不尽相同。本文将聚焦阿里…