本文介绍如何在云效平台使用Serverless Devs工具将函数部署至函数计算。
操作步骤
- 登录云效Flow。
- 在我的流水线页面右上角,单击新建流水线。
- 在选择流水线模板对话框,选择空模板,单击创建。
- 在添加流水线源面板,选择存放代码的代码源、仓库及默认分支,单击添加。
- 在流程设置页面的阶段1区域,单击空任务,在编辑面板,设置任务信息。
参数说明如下。
参数 |
说明 |
任务名称 |
设置任务名称。 |
构建集群 |
选择构建集群。 |
任务步骤 |
单击添加步骤,在下拉框中选择。
|
选择授权 |
选择服务授权,使云效能在函数计算控制台部署函数。如果您没有授权,您可以单击新建服务授权,根据界面提示完成函数计算的服务授权。
|
用户命令 |
设置Serverless Dev工具的部署命令。命令示例如下:s build -y <服务名称/函数名称>
s deploy -y <函数名称>
|
制品类型为镜像 |
如果您需要构建镜像并推送至镜像仓库,请选中制品类型为镜像,并设置镜像仓库信息。
- Registry:设置镜像仓库地址。
- Registry Username:设置镜像仓库用户名。
- Registry Password:设置镜像仓库密码。
说明 此处设置的镜像仓库信息需要与template.yml文件中的镜像仓库信息一致。
|
- 设置完成后,单击页面右上角的保存并运行,在确认运行流水线对话框单击确定,即可运行流水线。
单击
确定后,页面自动进入
最近运行界面,如果流水线显示
运行成功,说明函数部署成功。
常见问题
问题现象:我使用了第三方云产品或者为函数配置了触发器后,无法通过云效将函数成功部署至函数计算怎么办?
可能原因:云效提供的AliyunRDCDefaultRole包含的权限有限,在以下场景中,可能无法成功将函数部署至函数计算。
场景 |
所需权限及作用 |
没有为函数配置特定的角色,且函数配置涉及第三方云产品。 |
- AliyunFCFullAccess:部署函数。
- AliyunRAMFullAccess:Serverless Devs工具的Funcraft组件会基于所要涉及的云产品情况,自动为您创建相应的角色(fc-default-role-${function_name}),并关联指定的策略到这个角色上。
- ram:PassRole:将指定的角色授权给服务。
- ram:GetRole:判断fc-default-role-${function_name}是否存在,若不存在,则进行创建并关联指定的策略。
|
为函数配置了触发器(触发器包括OSS、MNS、SLS、Tablestore、CDN、API网关、云监控触发器)。 |
对应云产品的All Read权限或Full Access权限:用于在创建触发器资源时,保证对应云产品资源的可达性。 |
您可以参考以下方式解决上述问题:
- 登录RAM控制台,为AliyunRDCDefaultRole配置所需的相关权限。
注意 这种方式适用于阿里云账号以及能够修改角色的权限集合的RAM用户。
- 利用阿里云账号或者具有足够权限的RAM用户自行配置Serverless Devs,配置步骤,请参见配置方法。
说明 建议您使用第一种方式配置相关权限,避免直接在云效平台使用账号配置。