检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
部署环境准备 本章节以Linux主机为例,指导您基于KooCLI和软件开发生产线CodeArts搭建一套FunctionGraph函数的CI/CD。 云服务器ECS 该服务器作为CodeArts部署任务的部署主机,用于部署更新FunctionGraph函数。 规格:1vCPUs |
to mount exist system path” 您可以将文件重新挂载在新的路径下。 用户/用户组ID: 可设置为1000之外的其他数字id,如果为-1默认设置为1003。用户/用户组ID用于对访问远端文件系统的目录权限进行控制。 文件系统/云服务器名称:选择创建的文件系统
设置函数异步配置信息 功能介绍 设置函数异步配置信息。 调用方法 请参见如何调用API。 URI PUT /v2/{project_id}/fgs/functions/{function_urn}/async-invoke-config 表1 路径参数 参数 是否必选 参数类型 描述
步骤三:配置部署主机 在CodeArts界面,在“设置 > 通用设置”页签下,选择“主机组管理”,单击“新建主机组”。 输入主机组名“deploy-function”,单击“保存”: 图1 填写主机组名 在跳转界面“主机信息”页签下,单击“导入ECS”。 将部署环境准备的ECS云
端口用于FTP等,具体协议端口和源地址请根据实际需要配置。 图4 安全组设置 公网访问:请根据实际需求购买弹性公网IP并设置带宽大小。 步骤二:设置ECS下的NFS共享 ECS购买完成后即可进行NFS共享设置,以下示例中以两个用户user1和user2的场景进行介绍,可根据实际需要增减用户数。
端口用于FTP等,具体协议端口和源地址请根据实际需要配置。 图4 安全组设置 公网访问:请根据实际需求购买弹性公网IP并设置带宽大小。 步骤二:设置ECS下的NFS共享 ECS购买完成后即可进行NFS共享设置,以下示例中以两个用户user1和user2的场景进行介绍,可根据实际需要增减用户数。
口用于SSH和SFTP、21端口用于FTP等,具体协议端口和源地址请根据实际需要配置。 图4 安全组设置 步骤二:设置ECS下的NFS共享 ECS购买完成后即可进行NFS共享设置,以下示例中以两个用户user1和user2的场景进行介绍,可根据实际需要增减用户数。 添加用户user1和user2并创建home目录。
Serverless Devs 全局参数 表1 Serverless Devs全局参数介绍 参数全称 参数缩写 默认取值 参数含义 备注 template t s.yaml/s.yml 指定资源描述文件 - access a yaml中所指定的access信息/default 指定本次部署时的密钥信息
创建依赖包 操作步骤 本案例的依赖包如果使用Linux安装,会出现软连接导致的依赖缺失错误,因此需要删除现有“node_modules”子目录。 在Windows系统中重新安装,操作步骤如下: 退出Docker容器(原生Linux系统忽略)。 exit 删除项目目录中的“node
停用/启用触发器 已经创建的触发器,通过设置停用/启用,控制触发器的状态。SMN触发器、APIG触发器创建以后,不能停用,只能删除。 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。 单击函数名称,进入函数详情界面。 选择“设置 > 触发器”,进入“触发器”页签,在
TMQ触发器此参数必填。 DDS触发器:批处理大小设置1-10,000的范围内 DIS触发器:批处理大小设置1-10,000的范围内 KAFKA触发器:批处理大小设置1-1,000的范围内 RABBITMQ触发器:批处理大小设置1-1,000的范围内 queue_id 否 String
请根据页面提示信息诊断原因。 图1 查看执行结果 请参见使用容器镜像部署函数章节进行容器镜像自验证。 排查镜像是否为x86 linux架构,目前仅支持x86 linux架构镜像。 父主题: 调用函数
# 查看之前的golang编译环境 go env # 设置成linux对应的 set GOARCH=amd64 go env -w GOARCH=amd64 set GOOS=linux go env -w GOOS=linux # go build -o [目标可执行程序] [源程序]
执行以下命令判断是否设置成功。 exportfs -v 如果回显信息有打印刚配置的共享目录路径,表示设置成功。 修改共享目录。 如果需要修改或新增共享目录,参考3修改配置文件,修改完成后执行以下命令重启nfs服务。 service nfs restart 设置rpcbind开机启动(可选)
删除的访问密钥将无法恢复。 获取CLI工具 CLI工具支持64位的Linux x86系统及64位Windows系统,以及Mac系统,具体下载地址如表1所示。 表1 下载地址 系统 软件包及校验文件 参考文档 Linux 各系统类型软件包及校验文件下载请参见CLI软件和校验文件下载。
本案例以Next.js框架的默认demo为例演示部署过程,需要在Linux环境中创建一个全新的Next.js项目,本案例采用本地运行Docker node:18.15.0镜像的方式,同样适用于其他Linux系统。关于Docker镜像和Linux操作系统的使用并非本案例主要内容,不做过多赘述。
EulerOS是基于开源技术的企业级Linux操作系统软件,具备高安全性、高可扩展性、高性能等技术特性,能够满足客户IT基础设施和云计算服务等多业务场景需求。此处推荐Huawei Cloud EulerOS。 在华为云购买一台EulerOS的ECS弹性云服务器,请参见购买并登录Linux弹性云服务器。
使用TIMER定时触发器 本节介绍创建定时触发器,按照设置的频率,定期触发函数运行,供用户了解定时触发器的使用方法。 本节介绍如何使用函数工作流控制台创建定时触发器,按照设置的频率,定期触发函数运行。 关于定时触发器事件源的具体介绍,请参见支持的事件源。 前提条件 已创建函数,创建过程请参见创建函数。
创建RabbitMQ触发器 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。 选择待配置的函数,单击进入函数详情页。 选择“设置 > 触发器”,单击“创建触发器”,弹出“创建触发器”对话框。 图1 创建触发器 配置以下参数。 表1 RabbitMQ触发器参数说明 参数
器名称 assume-yes y 选填 选填 在交互时,默认选择y 当前命令还支持部分全局参数(例如-a/--access, --debug等),详情可参考 Serverless Devs 全局参数。 操作案例 有资源描述文件(Yaml)时,可以直接执行s remove trigger删除Yaml中声明的触发器;