Heroku Github从非主服务器自动部署(仅查看主服务器分支)

Heroku Github从非主服务器自动部署(仅查看主服务器分支),heroku,Heroku,[仅供参考-我不希望为了利用应用程序分组而将Heroku帐户升级为Enterprise。我们是一个小团队] 我是heroku应用程序的合作者。我的任务是为应用程序设置开发暂存生产环境,我对如何使用GitHub Heroku集成指南正确设置自动部署感到困惑。我已经获得了对原始git回购的管理员访问权 从生产应用程序上的“所有者”帐户,我创建了两个独立的应用程序(开发和登台) 现在,我有3个我是合作者的应用程序: (1) app.domain.com (2) app-dev.domain.com (

[仅供参考-我不希望为了利用应用程序分组而将Heroku帐户升级为Enterprise。我们是一个小团队]

我是heroku应用程序的合作者。我的任务是为应用程序设置开发暂存生产环境,我对如何使用GitHub Heroku集成指南正确设置自动部署感到困惑。我已经获得了对原始git回购的管理员访问权

从生产应用程序上的“所有者”帐户,我创建了两个独立的应用程序(开发和登台)

现在,我有3个我是合作者的应用程序:

(1) app.domain.com (2) app-dev.domain.com (3) app-staging.domain.com

我已经创建了3个遥控器,指向3个生成的heroku git repos:

生活 发展 登台

我可以通过以下方式轻松推送3个Heroku应用程序:

git推送实时主机
git推送开发主机
git推送暂存主机

但我想为开发人员登台应用程序设置自动部署

我已经将一个“自动”分支推到了dev和staging remote上。我的目的是让Heroku检测对该分支的推送并“自动”部署代码。但是,heroku只检测到对“主”分支afaik的推送

git推送开发版本自动发布
git推送暂存释放自动

但是,当我去管理Heroku dev登台应用程序时,我只在自动部署部分看到“主”分支。我不应该也看到“自动”分支吗?我之所以没有看到它,是因为我没有将auto作为原始gitrepo上的远程分支推送吗?在这种情况下,当代码生活在两个不同的环境(Heroku repo和GitHub repo)中时,我如何构造这些东西

最终,计划是设置某种形式的持续集成,并在跨开发人员暂存生产区域发布之前运行测试


我是不是想得太多了,还是有更好的方法让这些东西发挥作用?谢谢你

我认为Heroku上的自动部署只适用于默认分支(通常命名为master),您可能希望了解名为的Heroku特性。我自己还没有用过它,它还在测试阶段,但它听起来正是你想要的。不确定我是否读对了,但听起来好像你创建了3个单独的项目,而不是1个项目中的分支?如何管理将更改从一个阶段移动到另一个阶段

至于CI设置,我想这取决于您正在进行的测试类型和工作流程。在我的工作场所,我正在创建这样的过程,我的建议如下:

  • 开发人员在提交和合并到开发人员分支之前,在本地机器上开发和测试功能分支
  • 提交或合并到开发分支会触发CI服务器,运行构建并执行PHPUnit和Behat测试
  • 正在将成功构建部署到服务器(可能是Heroku或任何支持自动部署的托管提供商)以进行QA
  • 一旦测试和批准,我们就可以将代码转移到暂存分支重复CI过程,并在成功后转移到MASTER并投入使用

我们正在使用gilab.com托管我们的项目并执行测试(CI服务器作为标准配置包括在免费帐户中),将用于QA的开发和暂存状态部署到Heroku,并最终使用专用的企业级提供商托管实时版本。

Heroku只跟踪远程
分支上的更改。

要将您的
dev
分支推送到Heroku
master
远程分支:

git推送开发版本:master
您可能需要使用
-f
标志强制推送(小心!)