全部产品

如何通过云效进行函数计算(FC)发布

作者:

一、背景

如果您使用的是函数计算(FC),要将您的代码部署到函数计算,并以事件驱动的方式触发函数执行。那么本文档可以帮助您实现研发流程的协同自动化。

二、云效解决方案

通过云效持续交付流水线和函数计算(FC)很好的结合在一起,为应用的持续交付提供了很好的基础保障,如下图:

FC21

开发者提交代码变更到代码库,云效在监听着代码库的变动,一旦代码发生变化,将自动触发流水线一次构建任务的运行,流水线会自动拉取您更新的代码分支,并发布到您的 FC 函数服务上。这一切,都是通过自动化的手段进行完成,您无需再手动下载代码文件并打包上传至您的 FC 函数服务。

三、云效操作实践

目前云效支持您通过三种方式发布至函数计算:

1.直接通过代码仓库的源码发布。

2.通过 OSS 上传发布,适合需要在 OSS 上对您每次发布的源码文件进行存储管理的场景。要使用这类发布方式,您需要在发布前在云效里将您的源码文件打包后上传至 OSS。

3.通过镜像发布,适合您的函数服务运行环境为自定义环境 custom-container,需要通过镜像来发布您的函数服务的场景。要使用这类发布方式,您需要在发布前在云效里进行镜像构建并推送至阿里云容器镜像服务(ACR)。

本文主要介绍第一种方式,直接拉取源码发布至函数计算服务。

1、创建流水线

  • 进入云效(https://devops.aliyun.com)点击页面左上角的dock,选择流水线进入Flow

FC311
  • 点击右上角【新建流水线】,进入流水线创建向导页面。

FC312
  • 选择空模板,并点击创建

FC313

2、配置代码库

创建流水线之后会自动弹出添加代码源的窗口,这里选择你的代码源,并进行添加。本文添加的是 Flow 的 FC 示例代码源(https://code.aliyun.com/flow-example/fc-node-sample.git)。

FC321

3、配置 FC 发布任务

删除多余的“空任务”,点击添加新的任务组”函数计算应用发布”。

FC 331

点击“新建服务授权”,完成服务授权后,选择您 FC 的服务名和函数名,填写您的代码路径名,完成 FC 发布任务配置。

FC334

4、添加人工卡点

为了保证经过审批的制品才能进入部署环境,需要添加一个人工卡点,这里假设这个环境是测试环境,需要有测试管理员来审批才能进入。

首选需要在企业中创建一个角色”测试管理员“,并将企业用户”张三”的角色设置为该角色。

FC341FC 445

然后回到流水线继续进行配置,在 FC 发布前面添加一个任务,搜索”人工卡点“,并按照角色进行配置:

FC447FC 448FC449

5、运行流水线

配置完毕,点击”保存并运行”触发流水线:

流水线停在了卡点上,普通人员无权限通过,切换到张三的账号之后,可以通过或者拒绝。

ECS451

点击”验证通过“,流水线会进入 FC 发布的任务。

FC453

6、通知

为了更好的进行协作,Flow提供了通知能力在流水线不同的生命周期节点上进行通知。一般来讲开发团队会关心部署的成功和失败,那么可以将该事件推送到团队的钉钉群中,配置方式如下,点击”添加插件”,选择钉钉机器人通知,填入webhook地址,运行时机选择”失败“,”成功”

FC461

再次运行之后,就会收到相应的通知:

FC462