我们看到越来越多的人将他们的想法倾注到网络中。我们所指的人可能不熟悉网站设计和发布的技术细节,因此在设置他们的平台(网站)时可能会遇到一些问题。使用什么托管服务?如何设置DNS和SSL?最重要的是,如何部署网络应用程序?今天我们将在这里讨论和比较用于部署这些类型的应用程序的不同平台,并找到最适合您的平台!对于初学者,让我们看看您有哪些选择:常规托管(DigitalOcean、AWS、GCP)+JenkinsGitHubactions/Bitbucketpipelines+HerokuTravis-CI/Circle-CI全自动云平台1.常规云托管+JenkinsJenkins是其中之一CI/CD平台上最大的骑手。它是一种在主代理架构上运行的自动化CI/CD软件。那么什么是主/代理?好吧,代理只是一种奇特的说法,它是安装在机器上以协调[和绑定]不同构建的软件。Jenkins使用一个主节点来连接和协调所有可用的代理。那么,您可以使用什么机器来完成这些任务?大多数时候,包含docker的虚拟机(vm)是首选,因为它更容易,但是,docker不是必需的。其他一些可以使用的工具是物理服务器,甚至是在Kubernetes上运行的临时容器。优点:它是高度可定制的。它非常灵活,因为它有超过1.5K的插件。因此,对于您想尝试的任何测试用例,可能已经有人为您完成了:D。即使您是第一个运行特定测试用例的人,您也可以构建自己的插件和/或共享库=>一个友好的社区。它支持更快的模块构建和缓存。因为它不强制我们使用docker图像,不像它的竞争对手,服务中的任何东西都可以缓存以备后用,所以它比它的许多竞争对手更快。它不限于基于Linux的系统。我们也可以使用Windows系统。缺点:这是一项非托管服务。您需要定期确保服务器正在运行、SSL已锁定、有安全补丁或可以访问Internet。您需要手动解决所有操作问题。例如,如果出现问题,则由您来追踪并修复它。2.BitbucketPipelines/Github运维HerokuBitbucket的Pipelines是另一个类似于Jenkins的平台,但是更易于使用。Bitbucket管道的工作方式与Github的操作类似;使用Git版本控制系统。大家可以根据自己使用的平台来选择。管道是您不想错过的一项功能。通过管道,大部分SDLC(软件开发生命周期)都可以完全自动化。因此,比Jenkins更简单(尽管有限)的替代方案是bitbucket管道。Bitbucket使用Docker镜像来运行构建。图像也可以在每个步骤中更改,从而更容易分离SDLC的每个步骤。优点:当然,这比手动操作更容易,甚至使用Jenkins(如果您关心简单性)。缺点:它比Jenkins慢,因为它使用Docker镜像。它不能跨管道共享产品。用于管道工作的docker图像。所以你每次更新都会得到一个新图像,所以除非缓存,否则不会从以前的管道中保存任何数据。但是,即使使用缓存,数据也会在7天后丢失。这意味着任何未从远程位置获取的文件都将丢失,这对于大型测试(具有大量输入或基线字段)来说效果不佳。3.Travis-CI/Circle-CITTravis-CI是社区知名的CI服务机构。好吧,很多原因。主要原因之一是它对开源项目免费,这意味着您只需为私有项目付费。它的持续集成环境也提供了多个运行时,即节点。JS、PHP、Python版本、数据存储等。因此,当托管在该平台上时,可以轻松完成针对多个运行时/数据存储的库测试,而无需在本地安装它们的负担。优点:Travis是一个易于设置的平台。向项目添加一些基本的构建指令,提交代码……瞧!您的网站已上线。MySQL、PostgreSQL、Elasticsearch、Redis、Riak、RabbitMQ、Memcached等大量服务和数据库已经安装,等待开启配置。Travis支持多种部署平台,如Heroku、CloudFoundry、OpenShift、CloudControl、Nedejitsu等。TravisCI目前是一个成熟的平台,即使不是所有的常见投诉也已得到改善。这包括启用颜色的文档和日志...缺点:虽然它对开源项目是免费的,但付费计划价格不菲——69美元/月是垫脚石。不能直接在Travis上修改repos[你可以,如果你付钱......,所以每次[甚至]需要进行小的调整时都去存储库中的文件是相当麻烦的。设置构建矩阵的travis.yml文件是相当困难的。对于免费计划,由于基础设施有限,构建队列有时可能会很长。4.自动化云平台最后,对于一个完整而简单的自动化解决方案,我们可以在众多自动化云平台中选择一个。[其中,我个人更喜欢男服务员,但这完全是主观的。基本上,大部分幕后编码工作已经为您完成,因此您可以直接从git存储库部署代码。您对设置云服务器、Web服务器和类似繁琐任务的所有担忧都由您承担。在大多数情况下,您可以获得免费的SSL和CDN,以获得最新的安全性和许多其他好处。这些平台比其他服务更便宜、更易于使用,涵盖了大部分用途。因此,除非您有一个专门的团队准备好全力投入手动测试,或者想花钱购买其他自动化系统,例如Jenkins(仍然有很多手动工作要做),否则您最明智的选择是使用自动化云像Hostman平台。优点:易于设置。它是完全自动化的,因此菜单上没有太多手动操作。所有运营问题都将由Hostman等提供商处理。一次设置,无需定期管理。您可以完全专注于编写出色的代码。它支持开箱即用的自动Git部署,因此您无需配置。没有供应商锁定。缺点:与Jenkins等其他平台相比,功能有限。到目前为止,现有的语言和框架都有些局限。例如,Hostman支持22帧。但是像Jenkins这样的供应商支持超过100个插件,如果需要可以构建更多。具体如何部署请参考原文:https://dev.to/asaurav/4-ways-of-deploying-web-apps-in-2020-1a55
