将Django和PostgreSQL部署到云

2020-05-05 06:28:44

AWS(Amazon Web Services)是一家出色且可靠的云服务提供商。与GCP(Google Cloud Platform)和Microsoft Azure一样,AWS提供了托管应用程序所需的一切,而不必担心运行底层服务器和网络配置。

然而,在这些云提供商中的任何一个上部署应用程序都会带来许多挑战。典型的部署工作流如下所示:编写代码,将其推送到Git存储库,编译代码,部署代码,验证更改,然后重复。开发人员不仅需要自己负责所有这些工作,还需要配置大量的服务(如VPC、数据库、缓存、DNS、CDN等)才能使他们的应用程序在Web上运行。

Qovery通过将AWS的可靠性和Heroku的简单性相结合来增强开发人员体验并减轻开发人员肩上的配置负担,从而解决了这一问题。

在这篇博客文章中,我将向您展示Qovery如何通过在Qovery上部署试运行和生产Django应用程序以及PostgreSQL数据库来改进开发人员的工作流程。您将能够专注于编写最佳代码和交付业务价值,而不是管理复杂的服务。

注意:Qovery需要访问您的帐户才能克隆您的存储库,以便将来构建应用程序。

为了引导Django示例项目,我们将使用模板。模板是预配置的基本项目结构,允许您仅使用一个命令创建应用程序框架。要引导应用程序,请运行:

此命令创建一个新目录,其初始应用程序结构配置为部署在Qovery上。

要部署连接到PostgreSQL的Django应用程序,您需要在项目的根目录下有一个.qovery.yml文件和一个Dockerfile文件(这两个文件都在模板框架中提供)。

qovery.yml文件描述应用程序顺利工作所需的所有依赖项(例如PostgreSQL。

运行模板命令后,可以检查新应用所在文件夹中.qovery.yml的内容:

现在要部署应用程序,您只需初始化一个新的Github存储库,并授予Qovery对这个新创建的存储库的访问权限:

授权Qovery Github应用程序访问您的Github帐户。确保它有权访问包含您要使用Qovery部署的应用程序的存储库。

将本地Git存储库连接到新创建的Github存储库(不要忘记替换命令中的占位符):

您的数据库凭据可以通过环境变量获得。Qovery在运行时注入环境变量。要列出应用程序可用的所有环境变量,请在应用程序文件夹中执行以下命令:

样例应用程序已预先配置为使用这些环境变量连接到数据库。

正如您在状态输出中看到的,应用程序和数据库都是自动部署的。当您的应用程序状态为RUNNING时,您可以使用浏览器或CURL来访问其端点。

现在,您可以使用示例应用程序并提交和推送您的更改。Qovery会检测您的操作并触发新的构建和应用程序部署。您所做的任何更改都将自动反映在您部署的应用程序中。

Qovery的座右铭是:如果您的应用程序在本地运行,那么它也可以在Qovery上运行得很好。要测试应用程序是否在本地运行,请执行以下命令:

Qovery有一个引人注目的功能,称为环境。Qovery支持部署反映您的Git分支的隔离开发环境。环境是您所有数据、应用程序和数据库等服务的完整副本。在将更改合并到主分支之前,环境对于隔离测试更改非常有用。

那么,您是否希望在不影响生产或任何其他重要环境的情况下创建新功能、修复错误或进行修改?键入以下命令:

如您所见,与FEAT_FOO分支相关的新环境现在正在运行。新环境包括您项目的所有应用程序和数据库,因此您可以在与您的生产环境相同的环境中测试新功能(我们甚至复制数据库数据!)。

Qovery在部署应用程序时为开发人员带来了简单性和灵活性的全部力量。现在,任何开发人员都可以在几秒钟内利用最流行的云提供商,而不是数小时或数天。

加快您的开发,立即开始使用Qovery。在推特上或通过不和谐的方式让我们知道你对此的看法。