我想设置一个商业模式,我将相同的代码库(带有Postgres的Python Django)部署到我的客户heroku帐户。
(我希望客户管理他们自己的帐户,并让我只能作为软件提供商。但是,客户应该获得SaaS体验,而我实际上不必处理多租户细节。客户也可以随时冻结并退出升级过程或切换到自定义代码)
因此,客户将购买我的软件并设置heroku帐户。我将从客户那里获得凭据并将其添加到我的部署过程中,并且每次都会将代码部署到所有帐户以修复错误和新版本。
您认为使用Heroku可以实现吗?
答案 0 :(得分:1)
是的,这是可能的,实际上很容易做到IHMO。
最简单的方法是获取每个帐户的凭据并执行git push。但更好的方法是使用Heroku api。您可以先将新版本部署到您自己的应用程序,这将为您提供一个已编译的slug,然后您可以将其部署到其他应用程序。好处是您只需要运行一次构建阶段。
查看Heroku Platform API,主要是slug
和release
部分。您可以使用slug info
获取已编译slug的url,slug create
将已编译的slug上传到您的客户端应用程序,并release create
进行部署。
另请查看Release phase,因为您需要一种在部署时为每个客户端运行迁移的方法。