Heroku - 从多台计算机部署?

Posted

技术标签:

【中文标题】Heroku - 从多台计算机部署?【英文标题】:Heroku -- deployment from multiple computers? 【发布时间】:2011-10-27 13:31:56 【问题描述】:

我有两台计算机,我希望它们都能够从 github 上的同一个 repo 拉/推,以及部署到 heroku 上的同一个应用程序。我知道 Heroku 允许您在另一台计算机上克隆其 git 存储库,因此它也可以链接起来,但我不希望第二个克隆 heroku 存储库 - 我希望它克隆 git 存储库,然后让两台计算机成为能够在部署任何一个时更新heroku......我该怎么做?两者已经成功连接到同一个 github,但我现在想将它们连接到同一个 heroku 应用程序。

【问题讨论】:

这是两个不同的 Heroku 用户吗?还是同一用户在多台机器上? 【参考方案1】:

git remote add heroku git@heroku.com:your_app_name.git

【讨论】:

也为我工作,谢谢。一个快速澄清 - 命令的“project.git”部分是 heroku 应用程序名称,而不是 github 存储库名称。 记得在第二台机器上运行heroku keys:add,然后再尝试推送到 Heroku。 如果您不知道您的应用名称是什么,请登录 Heroku 后使用heroku list 查找。【参考方案2】:
    在所有计算机上从 Github 克隆您的应用。 使用一台电脑git push heroku。 所有其他计算机都将 Heroku 添加为远程。

所以对所有需要heroku命令的计算机执行此操作:

git remote add heroku git@heroku.com:project.git

您可以使用以下配置同时推送到 Git 和 Heroku:

git remote add all github:path/proj.git
git remote set-url --add --push all url = heroku:path/proj.git

然后git push heroku会推送给所有人。

【讨论】:

【参考方案3】:

以上述答案为基础,但随着 Heroku 仪表板的变化而更新:

    选择您的应用 选择设置 在 info 下,找到 Git URL 并使用它(例如, git@heroku.com:your-app_name-xxxx.git,如上所述)

【讨论】:

【参考方案4】:

我通常将所有 Heroku 项目存储在一个 Dropbox 文件夹中,该文件夹同步到我的所有计算机(也兼作非常方便的备份层) - 我还将我的 SSH 密钥存储在 Dropbox 中,然后每台计算机符号链接 ~/. ssh 到保管箱路径 - 这样,我在多台计算机上为同一个帐户使用相同的密钥。

我从来没有从 Heroku 拉过项目,因为在 dropbox 文件夹中工作意味着我所有的计算机都使用相同的代码,但如果你使用的是 Github,那么你不需要从 Heroku 克隆,因为你的 master 分支在本地和 github 上应该是目前在 Heroku 上发布的内容,然后您应该在合并到 master 的分支中工作。

这意味着我可以在任何计算机上工作并在我面前拥有相同的代码,只需要捆绑/迁移我的项目即可启动并运行,但没有理由不能让项目设置和运行从 github 中提取您要添加的任何计算机,并在两台计算机上添加 heroku 遥控器就可以了。

【讨论】:

我不知道将您的 ssh 密钥链接到保管箱是否是一个好主意......这实际上是我使用此设置的主要问题。我通过保管箱共享所有 conf 文件,除了我的密钥...

以上是关于Heroku - 从多台计算机部署?的主要内容,如果未能解决你的问题,请参考以下文章

使用 AsyncSSH 从多台计算机收集文件

iOS 推送通知 - 从多台计算机开发

我可以放在服务器上并从多台计算机访问的最快数据库是啥?

用于将文件复制到 50 多台远程计算机的 Robocopy 命令

Linux之FineBI集群部署

分布式的原理