部署PHP ZIP应用至SAE

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

前提条件

背景信息

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

步骤一:在SAE创建应用

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

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

步骤二:在云效创建企业

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

  1. 登录云效Flow

  2. 设置企业名称并选择研发组织规模,单击立即创建

    image

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

  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)应用发布

    image

  4. 编辑面板,配置任务信息,单击保存并运行

    配置项

    说明

    任务名称

    自定义的任务名称。不可超过20个字符。

    构建集群

    可以为任务选择不同的构建集群。

    下载流水线源

    开启下载流水线源后,配置流水线源的源文件将会被下载至对应的工作目录下。

    选择服务连接

    选择任务的服务授权,使云效能在SAE上部署应用。

    说明

    如果您从未连接过,请先单击添加服务连接,根据跳转完成阿里云RAM授权后再进行相应配置。

    地域

    选择步骤一所创建的应用所在地域。

    命名空间

    选择步骤一所创建的应用所在命名空间。

    SAE应用

    选择步骤一所创建的应用。

    构建产物

    选择步骤四所创建的标签名称。

    发布策略

    可选择分批发布灰度发布

    分批方式

    可选择手动确认自动确认。例如,如需在完成第一批发布时先观察发布结果再决定后续操作,则可选择手动确认

    灰度台数

    仅当发布策略灰度发布时,需要配置。要执行灰度发布的机器数量。

    发布批次

    发布分批的数量。

    分批等待时间

    相邻发布批次之间的等待时间。

    最小可用实例数

    最小可用实例数必须小于应用实例数。

    任务插件

    您可以根据需要配置任务插件来发送流水线通知。

  5. 运行配置对话框,确认配置信息,单击运行

结果验证

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

  • 方式一

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

    sc_DevOps_recent_runtime

  • 方式二

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

    sc_view_change_records