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

如何在Heroku上部署GitLab托管的Spring Boot项目

Heroku部署GitLab托管Spring Boot项目的可行方案

不需要强制将GitLab上的Spring Boot项目迁移至GitHub才能完成Heroku部署。除了关联GitHub仓库的自动部署方式外,以下3种方案都可以正常完成部署,适配你已经完成Heroku应用创建、PostgreSQL配置的项目现状:

方案1:Heroku CLI 手动Git部署(最易上手,零额外配置成本)

这是Heroku原生支持的通用部署方式,和代码托管在哪个平台没有关联:

  • 本地安装Heroku命令行工具后,在项目根目录执行heroku login,按照弹窗提示完成账号授权
  • 确认本地项目的所有代码改动已经提交到本地Git(本地已关联GitLab远程仓库的话不需要额外调整仓库配置)
  • 执行heroku git:remote -a <你的Heroku应用名称>,将Heroku的部署远程仓库添加到本地Git配置中
  • 每次需要部署时,直接执行git push heroku main(主分支为master则替换为master),Heroku会自动识别Spring Boot项目栈、执行Maven/Gradle构建、绑定端口、关联你已经配置的PostgreSQL插件,构建完成后就可以正常访问。

方案2:GitLab CI/CD 自动部署(和GitHub自动部署体验一致)

如果需要实现代码推送后自动部署,不需要手动敲命令,可以直接用GitLab的CI能力对接Heroku:

  • 进入Heroku账号设置页面,生成个人API Key并复制保存
  • 打开GitLab对应项目的「设置 > CI/CD > 变量」页面,添加两个加密环境变量:HEROKU_APP_NAME填写你创建的Heroku应用名,HEROKU_API_KEY填写刚才复制的Heroku API Key
  • 在项目根目录新建.gitlab-ci.yml配置文件,配置触发规则(比如每次代码合入主分支时触发),在部署脚本中添加Heroku CLI安装、登录、代码推送的逻辑即可,后续所有代码合入都会自动完成构建部署,不需要手动操作。

方案3:容器镜像部署(适配容器化项目)

如果你的Spring Boot项目已经做了Docker容器化,可以直接用Heroku的容器Registry部署,完全不依赖代码托管平台的关联逻辑:

  • 本地或通过CI流程将项目构建成标准Docker镜像
  • 执行heroku container:login登录Heroku容器仓库,给构建好的镜像打上Heroku要求的对应标签后,推送到Heroku的容器Registry
  • 执行heroku container:release web即可完成版本发布。

注意事项:你已经修改了application.properties中的PostgreSQL相关配置,请确保配置优先读取Heroku自动注入的DATABASE_URL环境变量,不要硬编码固定的数据库地址、账号、密码。Heroku的PostgreSQL插件会定期轮换连接凭证,硬写固定配置后续会出现数据库连接失败的问题,Spring Boot原生支持读取系统环境变量注入配置,不需要额外修改业务代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 17:39:41