阿里云 Severless,云效的流水线的serverless devs 工具,已经存在的函数,再次s deploy无效。
使用云效flow,
函数不存在时,s deploy成功。
部署日期为这个。
更新源码后,在手动触发flow,还是显示这个,部署日期没变(函数内容没更新)
如果已经存在的函数再次使用 s deploy 命令无效,可能是因为函数代码或者配置没有发生变化,导致函数没有被重新部署。在这种情况下,可以尝试使用 s deploy --force 命令,强制重新部署函数。该命令会覆盖原有的函数代码和配置,重新部署函数。
另外,如果函数无法被重新部署,可能是因为函数的状态异常,建议先到阿里云函数计算控制台查看函数状态,确保函数状态正常。如果函数状态正常,可以尝试使用阿里云 CLI 工具手动部署函数,以排除云效流水线中的问题。
如果您在使用阿里云Serverless Devs工具的云效流水线时,已经存在的函数再次使用s deploy
无效,可能有以下几个原因导致:
函数未修改:s deploy
默认会检测本地代码与云端函数的差异,并进行部署更新。如果函数的代码没有做任何修改,s deploy
不会触发函数的重新部署。您可以尝试对函数进行一些修改(例如修改代码、配置等),然后再次执行s deploy
。
依赖关系处理:如果函数有依赖其他服务或资源,而这些服务或资源已经存在且没有发生变化,则函数的重新部署也可能被跳过。确保任何相关的依赖资源都已正确设置,并在需要的情况下进行相应的更改,以触发函数的重新部署。
部署配置问题:检查您的部署配置文件(如s.yaml
)中是否正确指定了要部署的函数和相关配置。确保函数的名称和其他属性与实际需求匹配。
日志和错误排查:检查命令执行期间的日志输出,查看是否有任何错误或警告信息。这些日志可能包含有关为何函数没有重新部署的详细信息。根据日志进行逐步排查,以找出问题所在。
如果上述方法无法解决问题,请尝试在云效流水线中执行更详细的调试操作,例如添加调试输出、手动检查部署配置等。如果问题仍然存在,建议您联系阿里云技术支持,他们可以提供更具体的帮助和指导。
部署脚本可以换成 s deploy --use-local 这样哈
看样子是线上的trigger 做了些变更,--use-local 参数 强制使用本地s.yam 配置
此答案来自钉钉群“Serverless 开发者技术学习群"
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。