本文介绍如何使用云效以ZIP包方式将PHP语言的应用部署至Serverless应用引擎SAE(Serverless App Engine)

前提条件

背景信息

如果您首次使用云效,请先了解云效的部署流程以及SAE支持的部署方式。具体信息,请参见云效2020部署SAE应用与任务模板概览

步骤一:在SAE创建应用

如果您是第一次使用SAE托管应用,需要预先在SAE控制台创建相应的应用。SAE支持代码包部署和镜像部署。应用的部署方式必须与流水线的配置保持一致。

本文以PHP ZIP包部署为例。 具体操作,请参见在SAE控制台使用ZIP包部署PHP应用

步骤二:在云效创建企业

第一次使用云效Flow,您需要在云效上创建您的企业。如果已经创建企业,您可以跳过该步骤。

  1. 登录云效Flow
  2. 设置企业名称并选择使用规模,单击完成创建
    首次登录云效创建企业

步骤三:在云效创建流水线

  1. 登录云效代码管理Codeup,创建代码仓库。
    1. 代码库页面,单击右上角的添加库 > 新建代码库
    2. 在弹出的新建代码库对话框,输入代码库名称并单击确定
      本文以输入sae-demo-php为例,其余配置项保持默认设置。
    3. 选择以下任一方式提交代码。
      • 方式一:在Web端直接修改并提交。
      • 方式二:在本地克隆的代码仓库中提交。
      成功提交代码后,代码库页面显示的文件如下所示。sc_sae_demo_php_codeup
  2. 展开sae-demo-php代码库的左侧导航栏,选择流水线,然后单击创建流水线
  3. 选择流水线模板对话框,选择PHP > PHP · 测试、构建模板,然后单击创建
  4. 流程配置页签,在添加流水线源面板的左侧导航栏,选择代码源,配置代码源信息,单击添加
    • 选择代码源:单击Codeup
    • 代码仓库:选择sae-demo-php
    • 默认分支:选择master

步骤四:在云效部署应用至SAE

本步骤将云效Codeup代码仓库中的业务代码,打包部署到SAE

  1. 流程配置页签的构建区域,单击PHP构建上传到仓库bt_php_build_and_upload_to_repository_during_configuration_process
  2. 在弹出的编辑面板,配置相关信息。sc_edit_PHP_job
    1. 任务步骤区域,单击构建物上传右侧的减号图标,然后单击确认
    2. 单击+添加步骤,从下拉列表中选择上传 > 构建物上传(EDAS/SAE使用)
    3. 展开PHP构建,在构建命令区域输入以下参数。
      说明
      • 可以通过修改PACKAGE_NAME值,管理不同应用的软件包名避免冲突。
      • 仅支持打包为ZIP格式。如果有更多目录需要打包,可修改zip -r命令添加目录或文件。
      # 安装打包软件
      apt-get update
      apt-get install zip -y
      
      # 定义软件包名称
      PACKAGE_NAME="hello-sae-php.zip"
      
      # 确保构建初始化为空
      rm -rf ${PACKAGE_NAME} || echo "Package not exists. Ignore to cleanup"
      
      # 添加./nginx/与./php到打包文件
      zip -r ${PACKAGE_NAME} ./nginx ./php
    4. 展开构建物上传(EDAS/SAE使用),在上传文件文本框,输入上一步中PACKAGE_NAME打包的文件名称,例如hello-sae-php.zip
    5. 编辑面板右上角,单击关闭图标。
  3. 新阶段区域,单击新的任务,选择Serverless(SAE)应用发布
    SAE应用发布
  4. 编辑面板,配置任务信息,单击保存并运行
    云效镜像SAE部署v2
    配置项说明
    任务名称自定义的任务名称。不可超过20个字符。
    构建集群可以为任务选择不同的构建集群。
    下载流水线源开启下载流水线源后,配置流水线源的源文件将会被下载至对应的工作目录下。
    选择服务连接选择任务的服务授权,使云效能在SAE上部署应用。
    说明 如果您从未连接过,请先单击添加服务连接,根据跳转完成阿里云RAM授权后再进行相应配置。
    地域选择步骤一所创建的应用所在地域。
    命名空间选择步骤一所创建的应用所在命名空间。
    SAE应用选择步骤一所创建的应用。
    构建产物选择步骤四所创建的标签名称。
    发布策略可选择分批发布灰度发布
    分批方式可选择手动确认自动确认。例如,如需在完成第一批发布时先观察发布结果再决定后续操作,则可选择手动确认
    灰度台数仅当发布策略灰度发布时,需要配置。要执行灰度发布的机器数量。
    发布批次发布分批的数量。
    分批等待时间相邻发布批次之间的等待时间。
    任务插件您可以根据需要配置任务插件来发送流水线通知。
  5. 运行配置对话框,确认配置信息,单击运行

结果验证

选择以下任一方式验证是否运行成功。

  • 方式一

    云效开始部署后,默认进入最近运行页签,可查看流水线运行结果。如果运行失败,可通过云效流水线中的日志进行排查,重新保存并执行流水线调试。

    sc_DevOps_recent_runtime
  • 方式二

    云效显示部署成功后,在SAE控制台查看应用的变更记录,是否产生应用重新部署的变更记录。更多信息,请参见查看变更记录

    sc_view_change_records