更新时间:2022-12-07 GMT+08:00
分享

步骤五:搭建函数更新流水线

此流水线的主要作用是将functions仓库的helloworld函数代码配置发布更新到FunctionGraph平台。

新建构建任务

  1. 在“构建&发布 > 编译构建”页面,单击“新建任务”。
  2. 源码仓库选择functions仓库,构建模板选择“空白构建模板”。
  3. 构建步骤,添加三个构建步骤“执行shell命令”、“上传文件到obs”和“上传软件包到软件发布库”。
    1. 执行shell命令
      # 构建函数部署包
      cd helloworld
      zip helloworld_deploy.zip cam.yaml
      # 构建函数代码压缩包
      cd code
      zip -rp helloworld.zip *
      图1 执行shell命令
    1. 上传函数压缩包到OBS
      图2 上传函数压缩包到OBS
      • 步骤显示名称:上传函数压缩包到OBS
      • 构建产物路径:输入helloworld/code/helloworld.zip
      • 桶名:选择一个私有桶存储函数代码zip包
      • OBS存储目录:function
    2. 上传部署包到软件发布库
      图3 上传部署包到软件发布库
      • 步骤显示名称:上传部署包到软件发布库
      • 构建包路径:helloworld/helloworld_deploy.zip
      • 发布版本号:${releaseVersion}
  4. 在“参数设置”中配置releaseVersion,开启“运行时设置”。
    图4 参数设置
  5. 在“基础信息”页签下,更新任务名称为pipeline-update-function-deploy,并单击“保存”。

新建部署任务

  1. 在“构建&发布 > 部署”页面,单击“新建任务”。
  2. “部署模板”选择“空白模板”,单击“下一步”
  3. 部署步骤。选择添加步骤“选择部署来源”和“执行shell命令”。
    图5 添加部署步骤
    1. 选择部署来源
      图6 将函数部署包下载到部署机
      • 步骤显示名称:将函数部署包下载到部署机
      • 主机组:deploy-function
      • 选择软件包:/functions-helloworld-build/${releaseVersion}/helloworld_deploy.zip
      • 下载到主机的部署目录:/home/function/deploy
    2. 执行shell命令
      图7 部署函数
      • 步骤显示名称:部署函数
      • 主机组:选择deploy-function
      • shell命令:
        cd /home/function/deploy
        unzip -o helloworld_deploy.zip -d helloworld_deploy
        python3 deploy.py helloworld_deploy "${key}"
  4. 添加两个参数设置。
    • releaseVersion:默认值为1.0.0,开启运行时设置
    • key:默认值输入秘钥,开启“私密参数”
      图8 参数设置
  5. 在“基础信息”页签下,更新任务名称为update-function-deploy,并单击“保存”。

配置流水线

  1. 在“构建&发布 > 流水线”页面,单击“新建流水线”。
  2. 源码仓库选择functions仓库,构建模板选择“空白构建模板”。
  3. 配置“构建和检查”。
    1. 添加构建任务,类型为构建,选择要添加的任务functions-helloworld-build任务。
      图9 添加任务
    2. 其中releaseVersion设置为流水线参数。
      图10 releaseVersion参数设置
    3. 单击“保存”,保存构建任务。
  4. 配置部署任务
    1. 在构建阶段后新建一个阶段,名称为部署,任务串行执行,完成后单击“保存”。
      图11 阶段配置
    2. 单击“添加任务”,添加一个类型为部署的任务,输入名称为部署helloworld脚本,选择需要调用的任务update-function-deploy。
      图12 添加任务
    3. 其中releaseVersion设置为流水线参数。
      图13 releaseVersion参数设置
    4. 单击“保存”,保存部署任务。
  5. 在“基础信息”页签下,更新流水线名称为pipeline-update-function-helloworld,单击“保存”。
  6. 执行流水线。
    运行时参数配置releaseVersion输入1.0.0,单击“执行”。
    图14 运行时参数配置

相关文档