You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何无需Maven插件部署预打包Quarkus Azure Functions应用?

无需Maven插件部署预打包Quarkus Azure Functions应用的方法

当然可以,以下是几种可行的方案,帮你实现预打包Quarkus应用的部署、升级与回滚,避免每次部署都重新构建源码:

1. 用Azure CLI直接部署预构建压缩包

Quarkus打包Azure Functions应用后,会在target/azure-functions/<你的函数应用名称>目录下生成完整的函数运行文件。你可以手动将该目录打包为zip文件,然后通过Azure CLI直接部署:

确保已安装并登录Azure CLI,执行命令:

az functionapp deployment source config-zip --resource-group <你的资源组名> --name <你的函数应用名> --src <预打包的zip文件路径>

该命令会直接将预构建包部署到Azure Functions,跳过源码构建环节。

2. 拆分CI/CD流程中的构建与部署阶段

在CI/CD管道中分离构建和部署步骤,实现不可变包的管理:

  • 构建阶段:在独立环境执行Quarkus打包命令,禁用自动部署:
    mvn package -Dquarkus.azure-functions.deploy=false
    
    生成的包作为不可变产物存储(比如CI/CD平台的产物库、Azure Blob存储)。
  • 部署阶段:从存储中拉取指定版本的预构建包,通过Azure CLI、PowerShell或Azure Functions部署API完成部署。
    这种方式可以保留多版本包,升级或回滚时只需切换部署对应版本的包即可。

3. 部署独立运行时包

Quarkus支持生成包含所有依赖的独立可执行jar包,搭配Azure Functions配置文件打包部署:

  • 先执行命令生成独立jar包:
    mvn package -Dquarkus.package.type=uber-jar
    
  • 将生成的jar包与Azure Functions必需的配置文件(host.json、function.json等)一起打包为zip。
  • 最后通过Azure CLI或Azure门户上传该zip包完成部署。此包完全不可变,升级时替换对应版本zip即可。

回滚操作说明

只要保留各版本的预构建包,回滚就非常简单:直接重新部署目标版本的包即可。另外,你可以借助Azure Functions的部署槽位功能,将新版本部署到测试槽验证,无误后再切换到生产槽,进一步降低回滚风险。

内容的提问来源于stack exchange,提问作者Phyxx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 23:55:20