在阿里函数计算中,我使用 Serverless Devs 部署函数计算时,参照 https://docs.serverless-devs.com/fc/tips#%E5%A6%82%E4%BD%95%E5%A3%B0%E6%98%8E%E9%83%A8%E7%BD%B2%E5%A4%9A%E4%B8%AA%E5%87%BD%E6%95%B0,在一个服务中申明了两个函数。
在执行 s version publish 时,遇到了 No changes were made since last publish 错误,使用了 ignore-no-chang-error 参数忽略了。
但在执行 s alias publish 时,又遇到了 Can not update alias without any change 错误。根据部署 log 排查,第一个函数已经执行了 s alias publish,所以执行部署第二个函数时才遇到了该错误。
请问,有什么办法屏蔽掉 s alias publish 时遇到的 Can not update alias without any change 错误。
这个没有 我反馈一下 估计也应该加一个 ignore-no-chang-error 的参数。此回答来自钉群阿里函数计算官网客户。
为了避免在执行
s alias publish
时出现Can not update alias without any change
错误,您可以在命令行参数中添加-f
或--force
选项来强制更新别名。例如,使用以下命令:
或者:
这样,即使没有任何更改也可以更新别名。
在阿里云函数计算中,如果你想在同一个服务中声明多个函数,你可以使用Serverless Devs的
s function
命令来创建和管理函数。s version publish
和s alias publish
命令是用来发布和更新函数的版本和别名。对于你的问题,你可以尝试以下几种方法来解决:
在发布函数时,确保你对函数做了一些更改。如果没有更改,那么
s version publish
和s alias publish
命令会报错,因为它们无法在没有更改的情况下更新函数。你可以在
s alias publish
命令后面添加--force
参数,强制更新别名。但是请注意,这将覆盖任何已有的别名,所以在使用之前,请确保你已经备份了你的代码。你可以在
s function
命令后面添加--update
参数,更新函数。这将使函数处于待发布状态,然后你可以使用s version publish
命令来发布函数。你可以通过添加
--force
参数或使用s function --update
命令来更新函数,然后再使用s version publish
命令来发布函数。这样应该可以避免Can not update alias without any change
错误。