应用中心FAQ

更新时间:
复制 MD 格式

本文介绍使用Serverless应用中心部署应用过程中,可能遇到的问题及解决方案。

环境运行状态异常

可以查看运行状态来定位环境失败原因,通常情况下都是权限问题或者配额不足导致。

在环境详情页面,当运行状态显示为运行失败时,单击其右侧的查看按钮查看失败详情。部署日志中显示如下错误,表明 VPC 配额超限(错误码 QuotaExceeded.Vpc):

Error: [ERROR] terraform-provider-alicloud/alicloud/resource_alicloud_vpc.go:172: Resource alicloud_vpc CreateVpc Failed!!! [SDK alibaba-cloud-sdk-go ERROR]:
SDKError:
  StatusCode: 400
  Code: QuotaExceeded.Vpc
  Message: code: 400, VPC quota exceeded. request id: 15C807D3-E4F4-5B8B-B5EE-6211ABE1B096
  Data: {"Code":"QuotaExceeded.Vpc","HostId":"vpc-unit-share.cn-hangzhou.aliyuncs.com","Message":"VPC quota exceeded.","Recommend":"https://next.api.aliyun.com/troubleshoot?q=QuotaExceeded.Vpc&product=Vpc","RequestId":"15C807D3-E4F4-5B8B-B5EE-6211ABE1B096"}

流水线构建阶段超时

部署流水线失败时,您可以通过查看日志信息来排查具体问题。如果遇到Error:Function timed out after 600 seconds,通常是由于部署过程中下载依赖过慢导致的超时。

5662  713/2703 KB   1535/3310 KB   490/1502 KB   80/140 KB   1280/2268 KB
5663  713/2703 KB   1535/3310 KB   490/1502 KB   80/140 KB   1284/2268 KB
5664  713/2703 KB   1535/3310 KB   490/1502 KB   80/140 KB   1288/2268 KB
5665  713/2703 KB   1535/3310 KB   490/1502 KB   80/140 KB   1292/2268 KB
5666  713/2703 KB   1535/3310 KB   490/1502 KB   80/140 KB   1296/2268 KB
5667  713/2703 KB   1535/3310 KB   490/1502 KB   80/140 KB   1300/2268 KB
5668  713/2703 KB   1535/3310 KB   490/1502 KB   84/140 KB   1300/2268 KB
5669  713/2703 KB   1535/3310 KB   490/1502 KB   88/140 KB   1300/2268 KB
5670  713/2703 KB   1535/3310 KB   490/1502 KB   92/140 KB   1300/2268 KB
5671  713/2703 KB   1535/3310 KB   490/1502 KB   96/140 KB   1300/2268 KB
5672  713/2703 KB   1535/3310 KB   494/1502 KB   96/140 KB   1300/2268 KB
5673  713/2703 KB   1535/3310 KB   498/1502 KB   96/140 KB   1300/2268 KB
5674  713/2703 KB   1535/3310 KB   502/1502 KB   96/140 KB   1300/2268 KB
5675  713/2703 KB   1535/3310 KB   506/1502 KB   96/140 KB   1300/2268 KB
5676  713/2703 KB   1539/3310 KB   506/1502 KB   96/140 KB   1300/2268 KB
5677  713/2703 KB   1543/3310 KB   506/1502 KB   96/140 KB   1300/2268 KB
5678  713/2703 KB   1547/3310 KB   506/1502 KB   96/140 KB   1300/2268 KB
5679  713/2703 KB   1551/3310 KB   506/1502 KB   96/140 KB   1300/2268 KB
5680  717/2703 KB   1551/3310 KB   506/1502 KB   96/140 KB   1300/2268 KB
5681  721/2703 KB   1551/3310 KB   506/1502 KB   96/140 KB   1300/2268 KB
5682  725/2703 KB   1551/3310 KB   506/1502 KB   96/140 KB   1300/2268 KB
5683  729/2703 KB   1551/3310 KB   506/1502 KB   96/140 KB   1300/2268 KB
5684  729/2703 KB   1551/3310 KB   506/1502 KB   96/140 KB   1304/2268 KB
5685  729/2703 KB   1551/3310 KB   506/1502 KB   96/140 KB   1308/2268 KB
5686  729/2703 KB   1551/3310 KB   506/1502 KB   96/140 KB   1312/2268 KB
5687  729/2703 KB   1551/3310 KB   506/1502 KB   96/140 KB   1316/2268 KB
5688  FC Invoke End RequestId: 1675666308913-t-1675666322858-build-and-deploy-y9ct9v, Error: Function timed out after 600 seconds (maxMemoryUsage: 472.16MB)
5689

默认流水线支持中国内地和海外两个构建环境,其中Gitee、Codeup、GitLab的构建环境在华东1(杭州),GitHub的构建环境在新加坡。构建超时时间是10分钟,如果在中国内地构建环境,但是安装依赖访问海外Registry时下载速度会比较慢导致超时。此时,有两种方式可以解决超时问题。

  • 安装依赖时使用中国内地源或代理,例如:

    • 使用清华源安装Python依赖

      pip install some-package -i https://pypi.tuna.tsinghua.edu.cn/simple
    • 使用淘宝源安装Node.js依赖

      npm install some-package --registry https://registry.npmmirror.com
    • 使用七牛代理安装Golang

      GOPROXY=https://goproxy.cn
  • 方式二:

    采用自定义流水线,将构建环境部署在中国香港,或者自定义构建超时时间。使用自定义流水线会产生函数调用费用,具体信息,请参见计费概述

代码提交后未触发流水线执行

查看代码仓库的Webhook执行历史,如果遇到500错误,请加入钉钉用户群(钉钉群号:64970014484),联系函数计算工程师即时沟通处理。

例如,在 Recent Deliveries 页签中查看某次 push 事件的 Response,若状态码为 404 且 Body 返回 {"success":false,"errorMsg":"function /github1 is exist"},说明函数计算中对应函数路径已存在,需要排查函数配置冲突。

多个环境关联同一个代码分支,代码提交后只有一个环境流水线执行

多个环境关联同一个代码分支时,由于使用相同代码版本部署多个环境可能会导致不同环境的服务相互覆盖,因此应用中心只允许一个环境的流水线被执行。如果您在使用中确实需要同时触发多个环境,请加入钉钉用户群(钉钉群号:64970014484)获取函数计算技术支持。

为什么每次应用中心的应用部署之后,对应服务的配置都变更了?

部署应用时,会按照代码库里的s.yaml文件配置来更新服务和函数,因此,应用部署完成后您在控制台上修改的配置均会被覆盖。

为了避免您的服务配置被覆盖,建议在代码库的s.yaml文件中修改配置。具体操作,请参见Service字段

为了更方便地使用,您还可以在通过控制台修改完服务和函数配置后,在函数详情页的右上角,单击导出函数,然后选择导出配置导出当前服务和函数对应的s.yaml文件。您可以以此s.yaml文件为参考,更新代码库中的s.yaml文件。

为什么我的应用不能通过域名访问了?

***.devsapp.net域名是CNCF SandBox项目Serverless Devs社区所提供,仅供学习和测试使用,不可用于任何生产使用。社区会对该域名进行不定期拨测,并在域名下发1天后进行回收,建议您及时为应用绑定自定义域名,以获得更好的使用体验。

如果应用未绑定自定义域名,且部署的时间超过1天,应用将无法正常访问,此时需要重新部署一次应用,应用域名即可正常访问。