如何使用归档文件[jar/war]部署Google Cloud App Engine应用
无需额外工具(仅GCP SDK)部署WAR/JAR到App Engine Flex教程
一、准备部署文件
- 通过Bazel构建出可部署的WAR或JAR文件,例如执行对应构建命令:
bazel build //path/to:your-war-target(WAR文件)或bazel build //path/to:your-jar-target(JAR文件) - 将生成的WAR/JAR文件放到单独的部署目录(如命名为
deploy)
二、创建App Engine配置文件
在部署目录下创建app.yaml,根据文件类型选择对应配置:
针对WAR文件(Java Web应用)
runtime: java env: flex service: default # 可自定义服务名称 handlers: - url: /.* script: auto
针对JAR文件(独立Java应用)
runtime: java env: flex service: default entrypoint: java -jar your-app.jar # 替换为实际JAR文件名 handlers: - url: /.* script: auto
三、使用GCP SDK完成部署
- 终端切换到部署目录
- 若未登录GCP账号,执行登录命令:
gcloud auth login
- 设置当前GCP项目:
gcloud config set project YOUR_PROJECT_ID # 替换为你的项目ID
- 启动部署:
gcloud app deploy
- 部署过程中会提示选择部署区域,按需选择即可
- 部署完成后,可执行
gcloud app browse直接打开应用访问地址
四、Bazel+Guice项目适配提示
- 确保Bazel构建时已将Guice及其他依赖完整打包进WAR/JAR文件,可在BUILD文件中配置正确的依赖打包规则
- 若使用WAR文件,确认web.xml或Guice的ServletModule配置正确,保证请求能被正确路由
内容的提问来源于stack exchange,提问作者Vítor Resende
相关产品推荐
相关产品推荐

