我們看到越來越多的人將他們的想法傾注到網頁上。我們所指的這些人可能不熟悉網站設計和發布的技術細節,因此在建立他們的平臺(網站)時可能會遇到一些問題。使用什么托管服務?如何設置DNS和SSL?最重要的是,如何部署web應用程序?今天在這里,我們將討論和比較部署這類應用的不同平臺,并找到最適合你的平臺!
對于初學者來說,讓我們看看你有哪些選擇:
定期托管(Digital Ocean, AWS, GCP) + Jenkins
GitHub動作/Bitbucket管道+ Heroku
Travis-CI / Circle-CI
全自動云平臺
1. 常規云托管+ Jenkins
Jenkins是CI/CD平臺上最大的騎手之一。它是一個自動化的CI/CD軟件,在主代理體系結構上工作。那么什么是主/代理呢?嗯,代理只是軟件的一種花哨說法,它安裝在一臺機器上,用于協調[和綁定]不同的構建。詹金斯使用一個主機連接和協調所有可用的代理。那么,你可以用什么機器來完成這些任務呢?大多數情況下,包含docker的虛擬機(vm)是首選,因為這樣做更容易,然而,docker不是強制性的。可以使用的其他一些工具是物理服務器,甚至是運行在Kubernetes上的臨時容器。
優點:
它是高度可定制的。
它非常靈活,因為它有超過1.5K的插件。所以對于任何你想嘗試的測試用例,可能有人已經為你做過了:D。
即使您是第一個運行特定測試用例的人,您也可以構建自己的插件和/或共享庫=》一個友好的社區。
它支持更快的構建和緩存模塊。因為它不強迫我們使用docker鏡像,不像它的競爭對手,服務中的任何內容都可以緩存以備后用,因此它比許多競爭對手更快。
它并不局限于基于Linux的系統。我們也可以使用Windows系統。
缺點:
它是一個非托管服務。
您需要定期確保服務器正在運行、SSL已鎖定、有安全補丁或具有internet訪問權限。
您需要手動解決所有操作問題。例如,如果出現錯誤,則由您跟蹤并修復它。
2. Bitbucket管道/ Github操作Heroku
Bitbucket的管道是另一個類似于Jenkins的平臺,但更容易使用。Bitbucket管道的工作方式類似于Github的動作;使用Git版本控制系統。您可以根據所使用的平臺進行選擇。
管道是您不希望錯過的一個特性。有了管道,大部分SDLC(軟件開發生命周期)可以完全自動化。因此,比Jenkins更容易的替代方案(盡管功能有限)是位桶管道。
Bitbucket使用Docker鏡像來運行構建。圖像也可以在每個步驟中變化,從而更容易地分離SDLC的每個步驟。
優點:
當然,這比手動操作要容易,甚至比使用Jenkins(如果您關心的是簡單性)。
缺點:
它比Jenkins慢,因為它使用Docker圖像。
它不能跨管道共享產品。
管道工作的docker圖像。因此,每次更新時都會得到一個新映像,因此除非緩存,否則不會從以前的管道保存任何數據。然而,即使緩存,數據也會在7天后丟失。這意味著沒有從遠程位置獲取的任何文件都將丟失,這對于大型測試(具有大量輸入或基線字段)效果不佳。
3. Travis-CI/ Circle-CI
Travis-CI是社區中著名的CI服務機構。嗯,很多原因。最主要的原因之一是它對開源項目是免費的,這意味著你只需要為私人項目付費。它的持續集成環境還提供了多個運行時,即節點。JS, PHP, Python版本,數據存儲等等。因此,當托管在這個平臺上時,可以輕松地完成針對多個運行時/數據存儲的庫測試,而無需承擔本地安裝它們的負擔。
優點:
Travis是一個易于設置的平臺。向項目中添加一些基本的構建指令,提交代碼……瞧!你的網站是實時的。
大量的服務和數據庫,如MySQL, PostgreSQL, Elasticsearch, Redis, Riak, RabbitMQ, Memcached已經安裝,并等待啟用配置。
Travis支持很多部署平臺,如Heroku, Cloud Foundry, OpenShift, Cloud Control, Nedejitsu等。
Travis CI目前是一個成熟的平臺,大部分(如果不是全部的話)常見的抱怨都得到了改進。這包括支持顏色的文檔和日志…
缺點:
盡管它對開源項目是免費的,但付費計劃要付出沉重的代價——69美元/月是墊腳石。
repos不能在Travis上直接修改[你可以,如果你付錢的話…,所以每次[甚至]需要做一個小的調整時都去到存儲庫中的文件是相當麻煩的。
建立建立矩陣的travis.yml文件相當困難。
對于免費計劃,由于基礎設施有限,構建隊列有時會非常長。
4. 自動化的云平臺
最后,對于一個完整而簡單的自動化解決方案,我們可以選擇許多自動化云平臺中的一個。[其中,我個人更喜歡男招待,但這完全是主觀的。基本上,大多數幕后的編碼工作已經為您完成了,因此您可以直接從git存儲庫部署代碼。
所有關于設置云服務器、web服務器和類似繁瑣任務的擔憂都不需要您操心。
在大多數情況下,你會得到免費的SSL和CDN的最新安全和許多其他津貼。由于比其他服務更便宜,也更容易使用,這些平臺涵蓋了大部分的使用。所以,除非你有一個專門的團隊準備全力進行手工測試,或者想花錢購買其他自動化系統,比如Jenkins(它仍然有很多手工工作要做),否則最明智的選擇是使用像Hostman這樣的自動化云平臺。
優點:
它很容易設置。
它是完全自動化的,所以菜單上沒有多少手動操作。
所有的操作問題都將由Hostman等提供者處理。
設置一次之后,就不需要定期管理了。你可以完全專注于編寫出色的代碼。
它支持開箱即用的自動Git部署,因此您不需要配置。
沒有供應商鎖定。
缺點:
與Jenkins等其他平臺相比,其功能可能有限。
到目前為止,現有的語言和框架還有些局限。例如,Hostman支持22個框架。但是像Jenkins這樣的提供商支持100多個插件,如果需要的話,還可以構建更多的插件。
責編AJX
-
平臺
+關注
關注
1文章
199瀏覽量
23602 -
Web
+關注
關注
2文章
1257瀏覽量
69357 -
軟件
+關注
關注
69文章
4789瀏覽量
87169
發布評論請先 登錄
相關推薦
評論