成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

單頁應用程序中智能DevOps的五種策略

開發 前端
DevOps在開發生命周期中起著不可或缺。本文關注5種能在單頁應用程序中使用DevOps的策略。

本文轉載自公眾號“讀芯術”(ID:AI_Discovery)。

DevOps在開發生命周期中起著不可或缺。大多數前端框架都配有如Webpack一般的模塊捆綁器,以負責繁重的工作。但是,我們仍然需要規劃如何連接捆綁持續集成(CI)和持續交付(CD)環境的前端工具。

本文關注5種能在單頁應用程序中使用DevOps的策略。

[[348753]]

1. 減少環境配置

當使用React、Angular和Vue創建單個頁面應用的結構時,常規操作是每個環境使用單獨的配置文件。通常,開發、生產等使用一個環境配置。若每個環境彼此不同,便有多個配置文件。

但是,在本應使用不同捆綁配置情況下,若開發和生產只使用兩個配置,而其他應用程序特定的變量,如API路徑和主機名等在生成后修改,又會怎么樣呢?通過保留這兩個配置,你可以分開本地開發配置與其余配置(生產、暫存和質量保證)。

如果將Build和Release劃分為兩個管道,可以先放完整的占位符,然后反復使用Build管道來創建構件。之后,根據部署環境,可以在Release管道中動態替換這些變量。這種方法主要有兩個優點: 

  • 可將相同捆綁器推入多個環境(使用基礎的字符串替換),節省寶貴構建時間。
  • 掌握對捆綁器所做的確切更改,特別是在特定環境中。

2. 設置質量門

在Pull Request合并到開發分支之前,先構建前端的做法很常見。

質量門的概念連接著Pull Request構建,你可以在其中設置其他步驟(或門)以確保質量。例如,可以用一個構建步驟來用linter執行操作,以確保修改或添加的任何代碼與已經遵循的代碼樣式沒有任何偏差。做完這步后,可以用SonarCloud等高級代碼質量工具來進行質量檢查,通過詳細的見解向Pull Request本身提供反饋。

你或許會問,為什么在簽入代碼之前就不進行IDE級別的這些代碼質量評估?是的,在IDE級別進行這些評估(如果有可用的IDE插件)很重要,這能避免花時間在反饋周期上。但是,保證質量以進行整體代碼質量管理同樣重要。

[[348754]]

圖源:unsplash

3. 緩存程序包安裝

NPM軟件包安裝占很大一部分端構建的執行時間。重復構建時,由于很少更改外部依賴項,很難改善這個情況。

改進后,你可以設置一個緩存步驟來緩存這些依賴項。在特定的DevOps平臺(例如AzureDevOps)中,預定義的步驟可以執行此操作。但是,如果無法在DevOps平臺中找到它,可以基于package.json內容創建一個哈希函數,并將其用作緩存鍵來執行相同的操作。

4. 尋找并行性

在某些情況下,當在DevOps管道上構建Web應用程序時,需要同時構建前端和后端。由于大多數DevOps平臺都使用代理支持并行性,因此,可以將前端構建和后端劃分為不同的代理。借此,完成構建所需的時間便減少了。

如果將DevOps步驟劃為Build和Release管道,甚至可以在Release管道上組合前端和后端構建構件(前提是兩者都部署到同一服務器上)。

此外,即使在構建管道中,還可以用其他步驟來執行并行操作。重要的是,嘗試使用并行性進行各種優化,并評估其對整體DevOps的影響,以根據經驗教訓進行改進。

5. 自動化測試的有效執行

最后,我想采取一個關鍵步驟,需要在DevOps管道中進行設置。盡管最好是在Pull Request級別執行這些步驟(在開發人員的設備上更佳),但需要根據測試執行時間來確定正確的執行位置。

例如,作為質量門的一部分,在Pull Request構建時執行單元測試是一種常見的做法。但是,如果執行要花幾分鐘時間(常事),則在此級別上運行E2E測試可能會成為一筆開銷。因此,評估情況并決定在不同級別運行E2E測試用例至關重要。

圖源:unsplash

如你所見,我們可以對DevOps進行不同的改進,以提高效率并提升應用程序的整體質量。此外,其中的一些技術同樣適用于后端。

雖然本文只討論了五種策略,但是這些策略的方向可能會有助于進一步改進管道,以提高其性能(如根據構建步驟在各個級別進行緩存的技術)。

但還需要注意的是,每項改進都需要付出一定的代價。如果使用相同的緩存示例則應該知道,即使你指定NPM依賴項的自動更新小補丁,也有可能不使用庫的最新更新。最后,希望這些步驟將有助于你更好地使用DevOps并改善現有管道。

責任編輯:趙寧寧 來源: 讀芯術
相關推薦

2020-03-27 09:20:00

單頁應用程序網頁設計SPAs

2018-02-24 11:59:11

安全策略應用程序安全策略

2009-01-16 09:22:40

Web應用程序Web程序管理Web服務

2014-02-19 11:12:04

WAN優化WAN

2023-04-09 14:58:05

DevOps開發

2024-05-10 09:38:01

人工智能

2020-08-03 09:26:55

存儲內存技術

2023-11-30 07:48:13

網絡韌性應用程序

2022-07-04 17:32:12

DevOpsAIOps

2009-04-01 14:33:33

2014-12-16 09:35:13

DevOps

2014-02-24 10:50:32

DevOps云應用

2010-03-02 13:06:22

SilverLight

2022-08-16 20:04:08

移動應用測試

2021-02-20 09:57:02

人工智能移動應用

2018-08-26 22:39:08

單頁應用HATEOAS

2019-02-14 09:30:40

Ubuntu應用程序UI

2022-09-27 15:16:42

開發Android應用程序

2018-06-12 17:11:30

應用程序云計算云端

2022-05-05 09:31:34

Go語言漏洞
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩欧美在 | 午夜免费看视频 | 欧美激情久久久 | 精品欧美一区二区久久久伦 | 在线成人www免费观看视频 | 久久国产亚洲 | 超碰欧美 | 亚洲精品国产成人 | 天天草天天操 | 久久99网 | 91在线电影 | 丁香婷婷成人 | 国产一区二区久久 | 久久免费精品 | 亚洲成人国产综合 | av日韩在线播放 | 男人天堂网址 | 懂色中文一区二区三区在线视频 | 日韩成人久久 | 日本精品裸体写真集在线观看 | 国产精品日日摸夜夜添夜夜av | 亚洲精品一区二区三区中文字幕 | 婷婷色在线 | 在线国产一区 | 成人精品国产免费网站 | 日韩在线电影 | 狠狠做深爱婷婷综合一区 | 日韩高清一区 | 精品国产一区二区三区性色av | 国产精品毛片一区二区三区 | 日韩一区二区三区在线 | 91中文字幕在线 | 国产精品久久国产精品久久 | 国产精品一区二区三区99 | 久久成人免费 | 日韩在线视频网址 | 精品无码久久久久久久动漫 | 欧美涩| 狠狠亚洲 | 男人的天堂久久 | 精品二区 |