我們看到越來越多的人將他們的想法傾注到網(wǎng)頁上。我們所指的這些人可能不熟悉網(wǎng)站設(shè)計(jì)和發(fā)布的技術(shù)細(xì)節(jié),因此在建立他們的平臺(tái)(網(wǎng)站)時(shí)可能會(huì)遇到一些問題。使用什么托管服務(wù)?如何設(shè)置DNS和SSL?最重要的是,如何部署web應(yīng)用程序?今天在這里,我們將討論和比較部署這類應(yīng)用的不同平臺(tái),并找到最適合你的平臺(tái)!
對(duì)于初學(xué)者來說,讓我們看看你有哪些選擇:
定期托管(Digital Ocean, AWS, GCP) + Jenkins
GitHub動(dòng)作/Bitbucket管道+ Heroku
Travis-CI / Circle-CI
全自動(dòng)云平臺(tái)
1. 常規(guī)云托管+ Jenkins
Jenkins是CI/CD平臺(tái)上最大的騎手之一。它是一個(gè)自動(dòng)化的CI/CD軟件,在主代理體系結(jié)構(gòu)上工作。那么什么是主/代理呢?嗯,代理只是軟件的一種花哨說法,它安裝在一臺(tái)機(jī)器上,用于協(xié)調(diào)[和綁定]不同的構(gòu)建。詹金斯使用一個(gè)主機(jī)連接和協(xié)調(diào)所有可用的代理。那么,你可以用什么機(jī)器來完成這些任務(wù)呢?大多數(shù)情況下,包含docker的虛擬機(jī)(vm)是首選,因?yàn)檫@樣做更容易,然而,docker不是強(qiáng)制性的??梢允褂玫钠渌恍┕ぞ呤俏锢矸?wù)器,甚至是運(yùn)行在Kubernetes上的臨時(shí)容器。
優(yōu)點(diǎn):
它是高度可定制的。
它非常靈活,因?yàn)樗谐^1.5K的插件。所以對(duì)于任何你想嘗試的測(cè)試用例,可能有人已經(jīng)為你做過了:D。
即使您是第一個(gè)運(yùn)行特定測(cè)試用例的人,您也可以構(gòu)建自己的插件和/或共享庫=》一個(gè)友好的社區(qū)。
它支持更快的構(gòu)建和緩存模塊。因?yàn)樗粡?qiáng)迫我們使用docker鏡像,不像它的競(jìng)爭(zhēng)對(duì)手,服務(wù)中的任何內(nèi)容都可以緩存以備后用,因此它比許多競(jìng)爭(zhēng)對(duì)手更快。
它并不局限于基于Linux的系統(tǒng)。我們也可以使用Windows系統(tǒng)。
缺點(diǎn):
它是一個(gè)非托管服務(wù)。
您需要定期確保服務(wù)器正在運(yùn)行、SSL已鎖定、有安全補(bǔ)丁或具有internet訪問權(quán)限。
您需要手動(dòng)解決所有操作問題。例如,如果出現(xiàn)錯(cuò)誤,則由您跟蹤并修復(fù)它。
2. Bitbucket管道/ Github操作Heroku
Bitbucket的管道是另一個(gè)類似于Jenkins的平臺(tái),但更容易使用。Bitbucket管道的工作方式類似于Github的動(dòng)作;使用Git版本控制系統(tǒng)。您可以根據(jù)所使用的平臺(tái)進(jìn)行選擇。
管道是您不希望錯(cuò)過的一個(gè)特性。有了管道,大部分SDLC(軟件開發(fā)生命周期)可以完全自動(dòng)化。因此,比Jenkins更容易的替代方案(盡管功能有限)是位桶管道。
Bitbucket使用Docker鏡像來運(yùn)行構(gòu)建。圖像也可以在每個(gè)步驟中變化,從而更容易地分離SDLC的每個(gè)步驟。
優(yōu)點(diǎn):
當(dāng)然,這比手動(dòng)操作要容易,甚至比使用Jenkins(如果您關(guān)心的是簡(jiǎn)單性)。
缺點(diǎn):
它比Jenkins慢,因?yàn)樗褂肈ocker圖像。
它不能跨管道共享產(chǎn)品。
管道工作的docker圖像。因此,每次更新時(shí)都會(huì)得到一個(gè)新映像,因此除非緩存,否則不會(huì)從以前的管道保存任何數(shù)據(jù)。然而,即使緩存,數(shù)據(jù)也會(huì)在7天后丟失。這意味著沒有從遠(yuǎn)程位置獲取的任何文件都將丟失,這對(duì)于大型測(cè)試(具有大量輸入或基線字段)效果不佳。
3. Travis-CI/ Circle-CI
Travis-CI是社區(qū)中著名的CI服務(wù)機(jī)構(gòu)。嗯,很多原因。最主要的原因之一是它對(duì)開源項(xiàng)目是免費(fèi)的,這意味著你只需要為私人項(xiàng)目付費(fèi)。它的持續(xù)集成環(huán)境還提供了多個(gè)運(yùn)行時(shí),即節(jié)點(diǎn)。JS, PHP, Python版本,數(shù)據(jù)存儲(chǔ)等等。因此,當(dāng)托管在這個(gè)平臺(tái)上時(shí),可以輕松地完成針對(duì)多個(gè)運(yùn)行時(shí)/數(shù)據(jù)存儲(chǔ)的庫測(cè)試,而無需承擔(dān)本地安裝它們的負(fù)擔(dān)。
優(yōu)點(diǎn):
Travis是一個(gè)易于設(shè)置的平臺(tái)。向項(xiàng)目中添加一些基本的構(gòu)建指令,提交代碼……瞧!你的網(wǎng)站是實(shí)時(shí)的。
大量的服務(wù)和數(shù)據(jù)庫,如MySQL, PostgreSQL, Elasticsearch, Redis, Riak, RabbitMQ, Memcached已經(jīng)安裝,并等待啟用配置。
Travis支持很多部署平臺(tái),如Heroku, Cloud Foundry, OpenShift, Cloud Control, Nedejitsu等。
Travis CI目前是一個(gè)成熟的平臺(tái),大部分(如果不是全部的話)常見的抱怨都得到了改進(jìn)。這包括支持顏色的文檔和日志…
缺點(diǎn):
盡管它對(duì)開源項(xiàng)目是免費(fèi)的,但付費(fèi)計(jì)劃要付出沉重的代價(jià)——69美元/月是墊腳石。
repos不能在Travis上直接修改[你可以,如果你付錢的話…,所以每次[甚至]需要做一個(gè)小的調(diào)整時(shí)都去到存儲(chǔ)庫中的文件是相當(dāng)麻煩的。
建立建立矩陣的travis.yml文件相當(dāng)困難。
對(duì)于免費(fèi)計(jì)劃,由于基礎(chǔ)設(shè)施有限,構(gòu)建隊(duì)列有時(shí)會(huì)非常長(zhǎng)。
4. 自動(dòng)化的云平臺(tái)
最后,對(duì)于一個(gè)完整而簡(jiǎn)單的自動(dòng)化解決方案,我們可以選擇許多自動(dòng)化云平臺(tái)中的一個(gè)。[其中,我個(gè)人更喜歡男招待,但這完全是主觀的?;旧希蠖鄶?shù)幕后的編碼工作已經(jīng)為您完成了,因此您可以直接從git存儲(chǔ)庫部署代碼。
所有關(guān)于設(shè)置云服務(wù)器、web服務(wù)器和類似繁瑣任務(wù)的擔(dān)憂都不需要您操心。
在大多數(shù)情況下,你會(huì)得到免費(fèi)的SSL和CDN的最新安全和許多其他津貼。由于比其他服務(wù)更便宜,也更容易使用,這些平臺(tái)涵蓋了大部分的使用。所以,除非你有一個(gè)專門的團(tuán)隊(duì)準(zhǔn)備全力進(jìn)行手工測(cè)試,或者想花錢購買其他自動(dòng)化系統(tǒng),比如Jenkins(它仍然有很多手工工作要做),否則最明智的選擇是使用像Hostman這樣的自動(dòng)化云平臺(tái)。
優(yōu)點(diǎn):
它很容易設(shè)置。
它是完全自動(dòng)化的,所以菜單上沒有多少手動(dòng)操作。
所有的操作問題都將由Hostman等提供者處理。
設(shè)置一次之后,就不需要定期管理了。你可以完全專注于編寫出色的代碼。
它支持開箱即用的自動(dòng)Git部署,因此您不需要配置。
沒有供應(yīng)商鎖定。
缺點(diǎn):
與Jenkins等其他平臺(tái)相比,其功能可能有限。
到目前為止,現(xiàn)有的語言和框架還有些局限。例如,Hostman支持22個(gè)框架。但是像Jenkins這樣的提供商支持100多個(gè)插件,如果需要的話,還可以構(gòu)建更多的插件。
責(zé)編AJX
-
平臺(tái)
+關(guān)注
關(guān)注
1文章
200瀏覽量
23763 -
Web
+關(guān)注
關(guān)注
2文章
1275瀏覽量
70032 -
軟件
+關(guān)注
關(guān)注
69文章
5066瀏覽量
88460
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
請(qǐng)問STM32部署機(jī)器學(xué)習(xí)算法硬件至少要使用哪個(gè)系列的芯片?
Labview2015部署共享變量發(fā)生tagsrv.exe 錯(cuò)誤
Labview2012部署共享變量運(yùn)行一段時(shí)間后發(fā)生tagsrv.exe 錯(cuò)誤
阿里云企業(yè)IPv6部署方案
2020 年網(wǎng)絡(luò)安全的四大變化
美國四大移動(dòng)運(yùn)營(yíng)商的5G部署進(jìn)展
如何在RDKx3部署docker鏡像?
四大Web服務(wù)器接口簡(jiǎn)介
英特爾預(yù)計(jì)2012年部署新版WiMax
英特爾預(yù)計(jì)2012年部署新型WiMax無線寬帶技術(shù)
Web的四大接口
2019年部署無人駕駛汽車在公共道路的承諾不能實(shí)現(xiàn)了
(包教必會(huì))Arduino環(huán)境下ESP32部署指南

評(píng)論