开发者社区 > 云原生 > Serverless > 正文

请教个问题,我使用serverless的FC函数计算部署了一个应用,这个应用比较早,没有git版本,

请教个问题,我使用serverless的FC函数计算部署了一个应用,这个应用比较早,没有git版本,昨晚不小心通过上传代码给原代码覆盖了,请问应该怎么进行回退,如果不考虑别名的话。

这里的上传zip包

提问29.png

展开
收起
学习娃 2023-06-29 10:31:56 94 0
8 条回答
写回答
取消 提交回答
  • 是个只会写bug的程序媛啊!!!

    版本一样吗?版本不一样的话,还是可以找到的。或者说你这个项目当时是独立开发,还是和其他人一块开发的,如果是合作开发,可以找其他人要一份。最笨的方法是,你能记得你自己修改了哪些代码吗?靠记忆,手动恢复

    2023-06-30 11:39:43
    赞同 展开评论 打赏
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    如果您在阿里云函数计算(Function Compute)中部署的应用没有使用版本控制系统(如Git)进行代码管理,且没有使用别名功能,则无法直接回滚到之前的代码。在这种情况下,您可能需要考虑以下几种解决方案:

    1. 从备份中恢复:如果您有应用的备份或者之前的代码副本,您可以将备份的代码重新上传到函数计算中,覆盖当前的代码。这样可以还原到之前的代码状态。

    2. 手动修复:如果备份不可用,您可以手动修复被覆盖的代码。如果是单个文件被覆盖,您可以借助本地代码副本或其他渠道获取原始代码,并将其手动修复到函数计算中。如果涉及多个文件的更改,手动修复可能比较繁琐,但是仍然是一个可行的解决方案。

    3. 使用版本控制:为了避免类似的情况再次发生,建议您在以后的开发中使用版本控制系统,如Git。通过使用版本控制,您可以轻松管理和跟踪代码更改,并在需要回滚时恢复到特定的版本。

    2023-06-30 09:17:21
    赞同 展开评论 打赏
  • 如果您不考虑使用别名,而且之前没有使用版本控制工具(如Git)对函数代码进行管理,那么回退可能会比较困难。这是因为在函数计算中,没有内置的版本管理功能。

    在这种情况下,您可以尝试以下方法来进行回退:

    1. 从备份中恢复:如果您之前有备份函数代码的习惯,可以尝试从备份中恢复旧版本的代码。这可能需要您检查您的备份存储位置,如本地备份或云存储服务,以获取之前的代码。

    2. 与其他开发者合作:如果您曾经与其他开发者或团队成员共同开发过该应用,您可以与他们合作,尝试获取之前的代码版本。他们可能保存了旧版本的代码,可以帮助您进行回退。

    3. 重写代码:如果以上方法都无法获取到旧版本的代码,您可能需要从头开始重写代码。这可能需要您参考之前的功能实现和业务逻辑,重新编写函数代码。

    需要注意的是,为了避免类似的问题再次发生,建议您在以后的开发过程中使用版本控制工具(如Git)对函数代码进行管理。这样可以轻松地回退到之前的代码版本,并且可以更好地跟踪和管理代码的变更历史。

    另外,如果您使用了别名功能,您可以通过更新别名指向的版本来实现回退。通过将别名指向之前的函数版本,您可以快速恢复到旧版本的代码。这是函数计算中一种常用的管理方式,可以有效地进行版本控制和回退操作。

    2023-06-30 08:34:54
    赞同 展开评论 打赏
  • 您好,如果您的函数计算应用没有使用Git版本控制,那么回退可能会比较困难。不过,您可以尝试以下方法:

    1. 查看函数计算控制台中是否有历史版本可供选择。如果有,您可以选择一个可用的历史版本进行部署。
    2. 如果没有历史版本可供选择,您可以尝试在本地重新构建您的应用,并将其上传到函数计算中。请注意,这将覆盖当前的部署版本。
    3. 如果您的应用使用了第三方库或依赖项,请确保这些库或依赖项已经正确安装并配置。否则,您的应用可能无法正常运行。
    2023-06-29 22:57:12
    赞同 展开评论 打赏
  • 如果您的应用没有使用版本控制工具(如Git)进行管理,您可以考虑以下几种方法来管理和部署该应用:

    1. 手动备份:在部署之前手动备份应用代码。这样,您可以在需要回滚或还原时,使用备份的代码进行恢复。

    2. 压缩打包:将整个应用程序的代码和相关资源压缩成一个文件,例如 zip 或 tar.gz 格式。然后,将压缩包上传到函数计算服务,并在部署时使用该压缩包作为应用程序的代码。

    3. 脚本化部署:编写一个脚本,将应用程序的文件和资源复制到特定的目录中,然后使用函数计算的命令行工具(如 Fun 工具)执行部署命令。这样,您可以通过运行脚本来自动化部署过程。

    无论您选择哪种方法,重要的是保留应用程序的备份并确保可以方便地进行回滚或还原操作。此外,建议您将来考虑使用版本控制工具(如Git)来更好地管理和追踪应用程序的变化。

    请注意,以上方法仅供参考,并取决于具体情况和需求。建议根据您的应用程序和团队的具体情况选择合适的方式进行管理和部署。

    2023-06-29 19:40:22
    赞同 展开评论 打赏
  • 看起来没有特别好的回退方法了,建议后续使用 git + 服务版本进行代码版本控制

    此答案来自钉钉群“阿里函数计算官网客户"

    2023-06-29 17:29:57
    赞同 展开评论 打赏
  • 如果您在阿里云函数计算(Function Compute)中部署的应用没有使用版本控制系统(如Git)进行代码管理,并且在上传新的zip包时意外覆盖了原代码,回退操作可能会比较困难。但您可以尝试以下方法来恢复原始代码:

    1. 本地备份:如果您在上传新的zip包之前在本地有原始代码的备份,可以将备份的代码重新打包为zip文件,并使用函数计算的控制台或命令行工具进行部署。

    2. 日志回溯:如果您开启了函数计算的日志记录功能,可以查看函数执行的日志。在日志中,可能会包含函数执行前的旧代码。您可以将旧代码从日志中提取出来,并重新上传部署。

    3. 向阿里云技术支持寻求帮助:如果以上方法都无法找回原始代码,您可以联系阿里云技术支持团队,向他们提供详细的情况说明,并请求帮助进行代码恢复。他们可能会针对您的具体情况提供更详细的指导和解决方案。

    为了避免未来类似问题的发生,建议在部署函数之前始终保留代码的备份,并使用版本控制系统(如Git)进行代码管理。这样可以更好地追踪和管理代码的变更,并在需要时方便进行回滚和恢复操作。

    2023-06-29 17:12:40
    赞同 展开评论 打赏
  • 如果你没有使用版本控制工具(如Git)来管理你的代码,并且通过上传代码给原代码覆盖了,那么回退的过程可能会比较复杂。以下是一些可能的解决方案:

    1、从备份中恢复:如果你之前有对项目进行备份,可以尝试从备份中恢复之前的代码。

    2、与其他环境进行比较:如果你有其他环境(如测试环境或生产环境)中的代码副本,可以将其与当前环境中的代码进行比较,找出差异并进行回退。

    3、与团队成员合作:如果你与团队成员共享了代码,在团队中寻求帮助,看是否有其他人拥有之前的代码版本。

    4、与服务提供商联系:如果你使用的是某个云服务提供商的函数计算服务(如阿里云函数计算),你可以联系他们的技术支持,看是否能够从他们的备份中恢复你的代码。

    请注意,这些解决方案并不保证能够完全恢复你的代码,具体的回退过程可能会受到你的具体情况和环境的限制。因此,建议在今后的开发过程中使用版本控制工具来管理你的代码,以便更好地处理类似的问题。

    2023-06-29 12:48:17
    赞同 展开评论 打赏
滑动查看更多

快速交付实现商业价值。

相关产品

  • 函数计算
  • 热门讨论

    热门文章

    相关电子书

    更多
    Hologres Serverless之路:揭秘弹性计算组 立即下载
    Serverless开发平台: 让研发效能再提升 立即下载
    Serverless 引领云上研发新范式 立即下载