托管存量Web项目至云原生应用开发平台实现服务Serverless化和持续部署

如果您已有一个Web项目工程代码,可以通过云原生应用开发平台托管该Web项目,实现Web服务的弹性高可用、按量付费、免运维等Serverless带来的价值,同时,通过代码仓库的绑定,实现Web项目的持续部署。

前提条件

您的Web工程已经托管到主流的代码托管平台,即GitHub、Gitee、GitLab、Codeup其中一种。

本文以托管在GitHub平台的基于Python 、FastAPI框架开发的RESTful API服务为例,介绍如何托管存量Web工程到云原生应用开发平台 CAP

操作步骤

  1. 登录云原生应用开发平台控制台, 在左侧导航栏单击创建项目,选择创建空白项目,然后输入项目名称创建项目。

    image

  2. 在项目详情页面,单击左上角的新建服务,选择函数服务,进入函数服务配置页面。

  3. 在函数服务配置页面,选择函数类型Web函数,然后设置以下配置项。

    imageimage如图所示,配置项设置需符合以下原则:

    • 运行环境和构建环境一致(图示中①和③)。

    • 根据源代码工程中实际情况,设置启动命令监听端口,例如,示例项目入口是index.py,端口是8080(图示中②)。

      需要注意的是HTTP server启动设置host为0.0.0.0(图示中⑥)。

    • 构建命令根据代码仓库实际情况设置。Python构建命令可以设置为pip install -t . -r requirements.txt(图示中④),index.pyrequirements.txt需在工程的根目录。

      命令行执行路径使用了默认的.,代码包路径也使用了根目录.(图示中⑤),表示在工程的根目录执行pip install -t . -r requirements.txt命令,并将依赖库下载到根目录,和index.py一起打包为ZIP作为函数计算的代码包。

  4. 单击预览&部署,然后在弹出的服务资源预览对话框确认待部署资源后单击确认部署

    部署成功后,在服务情况页面获取API服务的Endpoint,如下图所示,其中:

    • 自定义域名是云原生应用开发平台 CAP临时派发的测试域名,仅支持HTTP,可用于浏览器直接打开,建议绑定自己的域名。

    • 如果您仅使用API服务,可以不使用自定义域名,仅使用服务公网地址或服务内网地址。

    image

  5. (可选)将修改后的代码推送到上面绑定的代码仓库的master分支,就可以自动部署,在部署记录中,可以看到所有部署历史。