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

能否从同一代码库部署多个Heroku应用?如何关联Git到多应用?

同一Git仓库部署不同版本到多个Heroku应用解决方案

可行性确认

完全可行。Heroku支持从同一Git仓库的不同版本(标签/分支)部署到独立的Heroku应用,完全匹配你的需求——将TackleSoft的v1.0和v1.4分别部署到Joe's Bait shop和Bob's tackle两个应用。

具体操作步骤

1. 创建目标Heroku应用

先通过命令行或Heroku后台创建两个独立应用:

# 创建Joe的渔具店应用(对应v1.0)
heroku create joes-bait-shop
# 创建Bob的渔具店应用(对应v1.4)
heroku create bobs-tackle

(应用名需符合Heroku命名规则,若重名会自动生成随机名,可后续在后台修改)

2. 给本地Git仓库添加多个Heroku远程

将两个Heroku应用作为远程仓库关联到本地TackleSoft仓库,用自定义别名区分:

# 关联Joe的应用,远程别名为heroku-joe
heroku git:remote -a joes-bait-shop -r heroku-joe
# 关联Bob的应用,远程别名为heroku-bob
heroku git:remote -a bobs-tackle -r heroku-bob

执行git remote -v可查看已关联的所有远程,确认两个Heroku远程添加成功。

3. 部署指定版本到对应应用

方式一:通过Git标签部署(推荐,适合固定版本)

如果仓库已为v1.0和v1.4打了标签(未打标签可执行git tag v1.0 <对应提交ID>、git tag v1.4 <对应提交ID>),直接推送标签到对应远程:

# 把v1.0版本部署到Joe的应用
git push heroku-joe v1.0:main
# 把v1.4版本部署到Bob的应用
git push heroku-bob v1.4:main

注意:main是Heroku默认部署分支,若仓库默认分支为master,替换成master即可。

方式二:通过独立分支部署

如果需要后续对某个版本迭代维护,可为每个版本创建专属分支:

# 基于v1.0创建Joe的生产分支
git checkout -b joe-production v1.0
# 部署到Joe的应用
git push heroku-joe joe-production:main

# 基于v1.4创建Bob的生产分支
git checkout -b bob-production v1.4
# 部署到Bob的应用
git push heroku-bob bob-production:main

后续更新时,切换到对应分支修改代码,再执行git push <远程别名> <分支名>:main即可。

额外问题:Git关联多个Heroku应用的方法

核心是给本地Git仓库添加多个Heroku远程仓库:

  • 使用heroku git:remote -a <Heroku应用名> -r <自定义远程别名>命令,为每个应用创建独立的远程关联;
  • 用git remote -v查看所有已关联的远程,确认别名和地址对应正确;
  • 部署时指定对应的远程别名,即可将指定版本推送到目标Heroku应用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 05:52:43