【音频】Serverless Devs与CI/CD实战|学习笔记

简介: 快速学习【音频】Serverless Devs与CI/CD实战。

开发者学堂课程【Serverless 技术进阶:【音频】Serverless Devs与CI/CD实战】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/995/detail/15050


【音频】Serverless Devs与CI/CD实战


内容介绍:

一、与CI/CD平台/工具集成

二、最佳实践案例


一、与CI/CD平台/工具集成

CI/CD是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法。

CI/CD 的核心概念是持续集成、持续交付和持续部署。作为一个面向开发和运营团队的解决方案,CI/CD主要针对在集成新代码时所引发的问题。

具体而言,CI/CD可让持续自动化和持续监控(从集成和测试阶段,到交付和部署)贯穿于应用的整个生命周期。这些关联的事务通常被统称为“CI/CD管道”,由开发和运维团队以敏捷方式协同支持。

在Serverless架构下,通常会有很多函数构成一个完整的功能或者服务,Serverless架构下,这种比较细粒度的功能开发往往会给后期的项目维护带来了极大的不便,包括不限于函数管理的不便、项目的构建、发布层面的不便等。

此时在Serverless 架构中,CI/CD 就显得尤为重要。更加科学、安全的持续集成和部署过程,不仅仅会让整体的业务流程更加规范,也会在一定程度上,降低人为操作,手工集成部署所产生错误的概率,同时也会大规模降低运维人员的工作负担。

如果想要通过CI/CD平台或者工具,科学且方便的进行Serverless应用的持续集成与交付部署,那么通常情况下是需要借助相对应的开发者工具,例如著名的开源项目Serverless Framework,Serverless Devs等等。整体的流程通常是:下载工具——配置密钥——应用构建——项目部署

1.与Github Action的集成

在Github Action的 Yaml文件中,可以增加Serverless Devs的相关下载、配置以及命令执行相关能力。

例如,在仓库中可以创建该文件.github/workflows/publish.yml,文件内容可参考本课文档(文本第2页),内容包括如何执行某些命令,例如通过deploy进行项目的部署,或者build等命令进行构建等。

关于密钥的配置:密钥信息的获取是通过${{secrets.*}}进行获取的,所以此时,需要将所需要的密钥和对应的Key配置到Github Secrets 中,例如在上面的案例中,需要AccessKeyID, AccessKeySecret等密钥的 Key。

2.与Gitee Go的集成

在开启 Gitee Go的服务之后,在流水线的 Yaml文件中,可以增加ServerlessDevs的相关下载、配置以及命令执行相关能力。

例如,在仓库中可以创建该文件.github/workflows/publish.yml,

文件内容可参考本课文档(文本4-5页),内容包括如何执行某些命令,例如通过deploy进行项目的部署,或者build等命令进行构建等。

关于密钥的配置:密钥信息的获取是通过$*进行获取的,所以此时,需要将所需要的密钥和对应的Key配置到Gitee 的环境变量管理即可,例如在上面的案例中,需要ACCESSKEYID, ACCESSKEYSECRET等密钥的Key。

3.与Jenkins的集成

在准备将Serverless Devs集成到Jenkins之前,需要先基于Jenkins官网安装并运行Jenkins。

本地启动Jenkins后,通过浏览器进入链接http://localhost:8080配置完成基础设置后,需要新增Credentials设置, 此时可以根据需要,增加密钥信息,以阿里云为例,新增两个全局凭据:阿里云 accessKeyId、阿里云accessKeySecret。

此时,可以对自身的Serverless Devs项目进行完善:

①创建文件Jenkinsfile,

主要的内容包括两个部分:

A:environment部分,主要是根据上面步骤配置的密钥信息,进行密钥的处理;  

B:stages部分,这里面会有一个部分是sh 'scripts/setup.sh',即运行scripts/setup.sh文件,进行相关内容的准备和配置。

②准备scripts/setup.sh文件,只需要在项目下,创建该文件即可

在该文件中,主要包括了几个部分:

A:下载并安装Serverless Devs开发者工具;

B:配置密钥信息等内容

C:执行某些命令,例如通过deploy进行项目的部署,或者build等命令进行构建等

D:完成密钥配置之后,可以创建一个Jenkins流水线,该流水线的源是目标Github 地址。接下来,就可以开始运行Jenkins 流水线,运行结束后,就可以得到相关的内容结果。

4.与云效的集成

在云效中,可以直接选择Serverless Devs开发者工具,并在自定义命令中,输入以下内容即可。

这里主要包括三个部分:

①通过NPM安装最新版本的Serverless Devs开发者工具(虽然云效中已经拥有了相关版本的Serverless Devs,但是实际上,这个版本可能比较老旧,所以可以通过该命令安装最新版本);  

②通过config命令进行密钥等信息的配置;比如s deploy

③执行某些命令,例如通过deploy进行项目的部署,或者build等命令进行构建等;


二、最佳实践案例

第一个案例是Custom Container的CI/CD最佳实践

Serverless Devs开发者工具天然对自动化流程有看比较亲密的支持,所以用Serverless Devs可以非常简单的实现项目持续发布的流程。

第二个案例是基于Gitee Go的函数代码更新与版本发布案例,包括单纯更新函数代码和进行版本发布。

这两个案例完整呈现了实验准备流程、项目测试、案例总结以及一些注意事项,可自行查看本课文档(文本10-26页)。

相关实践学习
【AI破次元壁合照】少年白马醉春风,函数计算一键部署AI绘画平台
本次实验基于阿里云函数计算产品能力开发AI绘画平台,可让您实现“破次元壁”与角色合照,为角色换背景效果,用AI绘图技术绘出属于自己的少年江湖。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
相关文章
|
10月前
|
人工智能 Cloud Native Serverless
Serverless Devs 官网全新升级,Serverless+AI 重磅来袭
Serverless Devs 官网全新升级,Serverless+AI 重磅来袭
192 3
|
人工智能 Cloud Native Serverless
Serverless Devs 官网全新升级,Serverless+AI 重磅来袭
Serverless Devs 官网迎来全新升级,主站以 AI 应用开发的叙事透出项目特性和解决方案。应用中心(Registry)将各类热门 AI 应用模版、实用 AI 工具以及 AI 工作流等呈现给用户。本次升级主题为“一站式 AI/函数/应用开发”,希望为开发者提供更加便利的应用模版搜索和展示服务,本文将对本次升级的三大看点进行整理,欢迎您来体验!
|
Serverless 对象存储
现代化 Web 应用构建问题之配置Serverless Devs的秘钥信息如何解决
现代化 Web 应用构建问题之配置Serverless Devs的秘钥信息如何解决
190 1
|
存储 前端开发 Serverless
Serverless 魔法之旅:如何用 Funcraft、OSS 和 ROS 打造超级CI/CD流水线!
【8月更文挑战第8天】在现代软件开发中,CI/CD对于提升效率与代码质量至关重要。本文介绍如何运用阿里云的Serverless服务——Funcraft、OSS及ROS构建完整的CI/CD流程。首先配置Funcraft实现代码自动化构建与部署;接着利用OSS管理静态文件,确保网站内容正确加载;最后借助ROS自动化资源创建与管理,实现代码自动部署。通过整合这些服务,不仅加速了开发进程,还保证了代码质量和部署一致性,充分发挥Serverless架构的优势。
387 5
|
缓存 JavaScript Serverless
阿里云云效产品使用合集之如何在Serverless Devs阶段指定Node.js版本
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
3月前
|
人工智能 运维 Kubernetes
Serverless 应用引擎 SAE:为传统应用托底,为 AI 创新加速
在容器技术持续演进与 AI 全面爆发的当下,企业既要稳健托管传统业务,又要高效落地 AI 创新,如何在复杂的基础设施与频繁的版本变化中保持敏捷、稳定与低成本,成了所有技术团队的共同挑战。阿里云 Serverless 应用引擎(SAE)正是为应对这一时代挑战而生的破局者,SAE 以“免运维、强稳定、极致降本”为核心,通过一站式的应用级托管能力,同时支撑传统应用与 AI 应用,让企业把更多精力投入到业务创新。
565 30
|
4月前
|
存储 人工智能 Serverless
函数计算进化之路:AI 应用运行时的状态剖析
AI应用正从“请求-响应”迈向“对话式智能体”,推动Serverless架构向“会话原生”演进。阿里云函数计算引领云上 AI 应用 Serverless 运行时技术创新,实现性能、隔离与成本平衡,开启Serverless AI新范式。
562 12
|
9月前
|
SQL 分布式计算 Serverless
鹰角网络:EMR Serverless Spark 在《明日方舟》游戏业务的应用
鹰角网络为应对游戏业务高频活动带来的数据潮汐、资源弹性及稳定性需求,采用阿里云 EMR Serverless Spark 替代原有架构。迁移后实现研发效率提升,支持业务快速发展、计算效率提升,增强SLA保障,稳定性提升,降低运维成本,并支撑全球化数据架构部署。
1058 56
鹰角网络:EMR Serverless Spark 在《明日方舟》游戏业务的应用
|
9月前
|
人工智能 开发框架 安全
Serverless MCP 运行时业界首发,函数计算让 AI 应用最后一公里提速
作为云上托管 MCP 服务的最佳运行时,函数计算 FC 为阿里云百炼 MCP 提供弹性调用能力,用户只需提交 npx 命令即可“零改造”将开源 MCP Server 部署到云上,函数计算 FC 会准备好计算资源,并以弹性、可靠的方式运行 MCP 服务,按实际调用时长和次数计费,欢迎你在阿里云百炼和函数计算 FC 上体验 MCP 服务。
804 30
|
7月前
|
存储 编解码 Serverless
Serverless架构下的OSS应用:函数计算FC自动处理图片/视频转码(演示水印添加+缩略图生成流水线)
本文介绍基于阿里云函数计算(FC)和对象存储(OSS)构建Serverless媒体处理流水线,解决传统方案资源利用率低、运维复杂、成本高等问题。通过事件驱动机制实现图片水印添加、多规格缩略图生成及视频转码优化,支持毫秒级弹性伸缩与精确计费,提升处理效率并降低成本,适用于高并发媒体处理场景。
407 0

相关产品

  • 函数计算