云服务器上的自动应用程序部署

云服务器上的自动应用程序部署

我一直托管我的应用程序,AWS EC2有一天我尝试了一下OpenShift,我喜欢它的原因是整个部署过程都是自动化的,但我不喜欢它的定价,因为我知道使用 EC2 更便宜,因为我可以在同一台服务器上托管许多应用程序。

我想知道如何在 AWS 上模拟 OpenShift 流程来进行自己的部署?原因很明显,这个过程是重复的,每次我想添加一个应用程序时,我都必须创建一个新的虚拟主机并指向运行node.js/php/python... 我喜欢 OS 的另一个功能是,我不需要上传整个项目,事实上,我只需要推送 repogit即可部署它。

感谢@BillSchaller,我发现 AWS 平台提供了可以完成此操作的功能,但问题在于它很令人困惑,因为有许多类似的服务CodeCommit, CodeDeploy, CodePipeline, OpsWork似乎可以做类似的事情...它们是相互补充的吗?

事情是这样的:

  1. 哪些 AWS 产品适合设置基础设施以便能够执行以下操作:
    • 创建应用程序实例,生成可与 node.js/php/python/java 配合使用的 git 存储库和虚拟主机配置
    • 当 git repo 被推送(更新)时更新生产应用程序,如果可能的话,有两个状态来处理开发和生产
    • 每个应用设置 SSL 证书
  2. 在这种情况下,哪种 AWS 产品更适合?基于以下因素:
    • 我想决定使用哪个 git 托管(基本上我会使用 Upsource,如果不使用 Bitbucket,最后一个选择是 Github,因为价格原因)
    • 如果可能的话我想要一个用于该过程的 GUI
    • 我喜欢拥有三个 EC2 实例(node.js、php/python、java)和一个 RDS 数据库

注意:我不想为每个应用程序创建一个服务器,我想在同一个服务器上托管许多应用程序。

答案1

您可以使用 AWS OpsWorks 来执行此操作。例如,您只需在 github 中设置一个 webhook,然后将其推送到通过 AWS CLI 触发 OpsWorks 部署事件的脚本。

相关内容