更新时间:2022-12-07 GMT+08:00
步骤五:搭建函数更新流水线
此流水线的主要作用是将functions仓库的helloworld函数代码配置发布更新到FunctionGraph平台。
新建构建任务
- 在“构建&发布 > 编译构建”页面,单击“新建任务”。
- 源码仓库选择functions仓库,构建模板选择“空白构建模板”。
- 构建步骤,添加三个构建步骤“执行shell命令”、“上传文件到obs”和“上传软件包到软件发布库”。
- 执行shell命令
# 构建函数部署包 cd helloworld zip helloworld_deploy.zip cam.yaml # 构建函数代码压缩包 cd code zip -rp helloworld.zip *
图1 执行shell命令
- 上传函数压缩包到OBS
图2 上传函数压缩包到OBS
- 步骤显示名称:上传函数压缩包到OBS
- 构建产物路径:输入helloworld/code/helloworld.zip
- 桶名:选择一个私有桶存储函数代码zip包
- OBS存储目录:function
- 上传部署包到软件发布库
图3 上传部署包到软件发布库
- 步骤显示名称:上传部署包到软件发布库
- 构建包路径:helloworld/helloworld_deploy.zip
- 发布版本号:${releaseVersion}
- 执行shell命令
- 在“参数设置”中配置releaseVersion,开启“运行时设置”。
图4 参数设置
- 在“基础信息”页签下,更新任务名称为pipeline-update-function-deploy,并单击“保存”。
新建部署任务
- 在“构建&发布 > 部署”页面,单击“新建任务”。
- “部署模板”选择“空白模板”,单击“下一步”
- 部署步骤。选择添加步骤“选择部署来源”和“执行shell命令”。
图5 添加部署步骤
- 选择部署来源
图6 将函数部署包下载到部署机
- 步骤显示名称:将函数部署包下载到部署机
- 主机组:deploy-function
- 选择软件包:/functions-helloworld-build/${releaseVersion}/helloworld_deploy.zip
- 下载到主机的部署目录:/home/function/deploy
- 执行shell命令
图7 部署函数
- 步骤显示名称:部署函数
- 主机组:选择deploy-function
- shell命令:
cd /home/function/deploy unzip -o helloworld_deploy.zip -d helloworld_deploy python3 deploy.py helloworld_deploy "${key}"
- 选择部署来源
- 添加两个参数设置。
- releaseVersion:默认值为1.0.0,开启运行时设置
- key:默认值输入秘钥,开启“私密参数”
图8 参数设置
- 在“基础信息”页签下,更新任务名称为update-function-deploy,并单击“保存”。
配置流水线
- 在“构建&发布 > 流水线”页面,单击“新建流水线”。
- 源码仓库选择functions仓库,构建模板选择“空白构建模板”。
- 配置“构建和检查”。
- 添加构建任务,类型为构建,选择要添加的任务functions-helloworld-build任务。
图9 添加任务
- 其中releaseVersion设置为流水线参数。
图10 releaseVersion参数设置
- 单击“保存”,保存构建任务。
- 添加构建任务,类型为构建,选择要添加的任务functions-helloworld-build任务。
- 配置部署任务
- 在构建阶段后新建一个阶段,名称为部署,任务串行执行,完成后单击“保存”。
图11 阶段配置
- 单击“添加任务”,添加一个类型为部署的任务,输入名称为部署helloworld脚本,选择需要调用的任务update-function-deploy。
图12 添加任务
- 其中releaseVersion设置为流水线参数。
图13 releaseVersion参数设置
- 单击“保存”,保存部署任务。
- 在构建阶段后新建一个阶段,名称为部署,任务串行执行,完成后单击“保存”。
- 在“基础信息”页签下,更新流水线名称为pipeline-update-function-helloworld,单击“保存”。
- 执行流水线。
父主题: 使用CodeArts托管函数代码