本文介绍如何使用云效以ZIP包方式将PHP语言的应用部署至Serverless 应用引擎 SAE(Serverless App Engine)。
前提条件
下载并解压hello-sae-php.zip。
背景信息
如果您首次使用云效,请先了解云效的部署流程以及SAE支持的部署方式。具体信息,请参见云效2020部署SAE应用与任务模板概览。
步骤一:在SAE创建应用
如果您是第一次使用SAE托管应用,需要预先在SAE控制台创建相应的应用。SAE支持代码包部署和镜像部署。应用的部署方式必须与流水线的配置保持一致。
本文以PHP ZIP包部署为例。 具体操作,请参见在SAE控制台使用ZIP包部署PHP应用。
步骤二:在云效创建企业
第一次使用云效Flow,您需要在云效上创建您的企业。如果已经创建企业,您可以跳过该步骤。
登录云效Flow。
设置企业名称并选择研发组织规模,单击立即创建。
步骤三:在云效创建流水线
登录云效代码管理Codeup,创建代码仓库。
在代码库页面,单击右上角的 。
在弹出的新建代码库对话框,输入代码库名称并单击确定。
本文以输入sae-demo-php为例,其余配置项保持默认设置。
选择以下任一方式提交代码。
方式一:在Web端直接修改并提交。
方式二:在本地克隆的代码仓库中提交。
成功提交代码后,代码库页面显示的文件如下所示。
展开sae-demo-php代码库的左侧导航栏,选择流水线,然后单击创建流水线。
在选择流水线模板对话框,选择 模板,然后单击创建。
在流程配置页签,在添加流水线源面板的左侧导航栏,选择代码源,配置代码源信息,单击添加。
选择代码源:单击Codeup。
代码仓库:选择sae-demo-php。
默认分支:选择master。
步骤四:在云效部署应用至SAE
本步骤将云效Codeup代码仓库中的业务代码,打包部署到SAE。
在流程配置页签的构建区域,单击PHP构建上传到仓库。
在弹出的编辑面板,配置相关信息。
在任务步骤区域,单击构建物上传右侧的减号图标,然后单击确认。
单击+添加步骤,从下拉列表中选择 。
展开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
展开构建物上传(EDAS/SAE使用),在上传文件文本框,输入上一步中
PACKAGE_NAME
打包的文件名称,例如hello-sae-php.zip。在编辑面板右上角,单击关闭图标。
在新阶段区域,单击新的任务,选择Serverless(SAE)应用发布。
在编辑面板,配置任务信息,单击保存并运行。
配置项
说明
任务名称
自定义的任务名称。不可超过20个字符。
构建集群
可以为任务选择不同的构建集群。
下载流水线源
开启下载流水线源后,配置流水线源的源文件将会被下载至对应的工作目录下。
选择服务连接
选择任务的服务授权,使云效能在SAE上部署应用。
说明如果您从未连接过,请先单击添加服务连接,根据跳转完成阿里云RAM授权后再进行相应配置。
地域
选择步骤一所创建的应用所在地域。
命名空间
选择步骤一所创建的应用所在命名空间。
SAE应用
选择步骤一所创建的应用。
构建产物
选择步骤四所创建的标签名称。
发布策略
可选择分批发布或灰度发布。
分批方式
可选择手动确认或自动确认。例如,如需在完成第一批发布时先观察发布结果再决定后续操作,则可选择手动确认。
灰度台数
仅当发布策略为灰度发布时,需要配置。要执行灰度发布的机器数量。
发布批次
发布分批的数量。
分批等待时间
相邻发布批次之间的等待时间。
最小可用实例数
最小可用实例数必须小于应用实例数。
任务插件
您可以根据需要配置任务插件来发送流水线通知。
钉钉机器人通知插件:具体操作,请参见钉钉机器人发送群消息。
邮件通知:输入邮件地址,多个地址间使用分号(;)分隔。
Webhook通知插件:具体操作,请参见使用Webhook插件发送通知。
企业微信群通知:具体操作,请参见企业微信机器人发送群消息。
飞书群通知:具体操作,请参见飞书机器人发送群消息。
在运行配置对话框,确认配置信息,单击运行。
结果验证
选择以下任一方式验证是否运行成功。