2020年部署Web应用的4种方式

前言我们看到越来越多的人将他们的想法倾注到网页上 。我们所指的这些人可能不熟悉网站设计和发布的技术细节 , 因此在建立他们的平台(网站)时可能会遇到一些问题 。使用什么托管服务?如何设置DNS和SSL?最重要的是 , 如何部署web应用程序?今天在这里 , 我们将讨论和比较部署这类应用的不同平台 , 并找到最适合你的平台!
对于初学者来说 , 让我们看看你有哪些选择:

  1. 定期托管(Digital Ocean, AWS, GCP) + Jenkins
  2. GitHub动作/Bitbucket管道+ Heroku
  3. Travis-CI / Circle-CI
  4. 全自动云平台
1、常规云托管+ JenkinsJenkins是CI/CD平台上最大的骑手之一 。它是一个自动化的CI/CD软件 , 在主代理体系结构上工作 。那么什么是主/代理呢?嗯 , 代理只是软件的一种花哨说法 , 它安装在一台机器上 , 用于协调[和绑定]不同的构建 。詹金斯使用一个主机连接和协调所有可用的代理 。那么 , 你可以用什么机器来完成这些任务呢?大多数情况下 , 包含Docker的虚拟机(vm)是首选 , 因为这样做更容易 , 然而 , docker不是强制性的 。可以使用的其他一些工具是物理服务器 , 甚至是运行在Kubernetes上的临时容器 。
优点:
  • 它是高度可定制的 。
  • 它非常灵活 , 因为它有超过1.5K的插件 。所以对于任何你想尝试的测试用例 , 可能有人已经为你做过了:D 。
  • 即使您是第一个运行特定测试用例的人 , 您也可以构建自己的插件和/或共享库=>一个友好的社区 。
  • 它支持更快的构建和缓存模块 。因为它不强迫我们使用docker镜像 , 不像它的竞争对手 , 服务中的任何内容都可以缓存以备后用 , 因此它比许多竞争对手更快 。
  • 它并不局限于基于linux的系统 。我们也可以使用windows系统 。
 
缺点:
  • 它是一个非托管服务 。
  • 您需要定期确保服务器正在运行、SSL已锁定、有安全补丁或具有internet访问权限 。
  • 您需要手动解决所有操作问题 。例如 , 如果出现错误 , 则由您跟踪并修复它 。
 
2020年部署Web应用的4种方式

文章插图
 
2、Bitbucket管道/ Github操作HerokuBitbucket的管道是另一个类似于Jenkins的平台 , 但更容易使用 。Bitbucket管道的工作方式类似于Github的动作;使用Git版本控制系统 。您可以根据所使用的平台进行选择 。
管道是您不希望错过的一个特性 。有了管道 , 大部分SDLC(软件开发生命周期)可以完全自动化 。因此 , 比Jenkins更容易的替代方案(尽管功能有限)是位桶管道 。
Bitbucket使用Docker镜像来运行构建 。图像也可以在每个步骤中变化 , 从而更容易地分离SDLC的每个步骤 。
优点:
  • 当然 , 这比手动操作要容易 , 甚至比使用Jenkins(如果您关心的是简单性) 。
缺点:
  • 它比Jenkins慢 , 因为它使用Docker图像 。
  • 它不能跨管道共享产品 。
  • 管道工作的docker图像 。因此 , 每次更新时都会得到一个新映像 , 因此除非缓存 , 否则不会从以前的管道保存任何数据 。然而 , 即使缓存 , 数据也会在7天后丢失 。这意味着没有从远程位置获取的任何文件都将丢失 , 这对于大型测试(具有大量输入或基线字段)效果不佳 。
 
 
3、Travis-CI/ Circle-CITravis-CI是社区中著名的CI服务机构 。嗯,很多原因 。最主要的原因之一是它对开源项目是免费的 , 这意味着你只需要为私人项目付费 。它的持续集成环境还提供了多个运行时 , 即节点 。JS, php, Python版本 , 数据存储等等 。因此 , 当托管在这个平台上时 , 可以轻松地完成针对多个运行时/数据存储的库测试 , 而无需承担本地安装它们的负担 。
【2020年部署Web应用的4种方式】优点: