ci持續整合工程師前景 什麼是 CI 持續整合

2021-10-13 12:11:17 字數 1273 閱讀 7210

現在做測試,經常聽到乙個概念 持續整合 ci continuous integration。

這裡呢,用我自己的理解談一下,不正確的地方還請指正。

要說持續整合,首先要明白什麼是整合。很多測試同學說到整合,就想到整合測試。

這裡的整合主要是指**的整合:

舉例來說,比如當前迭代,開發時間為兩周。專案開始後,開發人員會從**管理工具(svn 或 git)的主幹**上覆制乙份**到自己本地電腦。然後在自己的本地電腦上進行開發,假設這個專案有三個開發人員,分別是 jim(狗蛋)、lily(翠花)、tom(大錘)。

好,現在三個開發分別在自己電腦上開發。開發任務完成後,一次性提交自己本地**到**管理工具的主幹**上。

這個過程就叫整合,也就是**整合,將自己本地的**整合到主幹**。此時發生了所謂的整合地獄。三位開發有可能會改到同乙個**檔案、同乙個方法,這樣就會出現**衝突。為了處理整合過程中的衝突,會花費非常多的時間、精力和成本,並且提高了發布風險。

為了降低這種風險和成本,於是持續整合就被提出了。強調的是不再一次性把**整合到主幹,而是高頻率的持續整合。一天整合1次,甚至多次。同時在整合過程中,進行自動化測試,保證主幹**一直可用。

為保證主幹**可用,開發每次**整合後都需要進行 bvtbuild verification test測試,也就是類似冒煙測試的過程,比冒煙更簡單一些,主要保證系統可用。這種測試由於測試頻率高,因此對自動化測試的需求非常大。

那麼現在主流的持續整合工具,比如 jenkins 做些什麼事情呢?

先來說一下沒有 jenkins 的時候,我們怎麼去更新測試環境的。

首先從 svn 上獲取最新**;

在本地進行編譯

構建乙個發布包,通過 ftp 上傳到測試環境伺服器

將發布包中內容更新到相應的服務

重啟相關服務,以使更新生效

如果部署了負載均衡,則在其他伺服器上重複 4, 5

每次構建和更新測試環境都是很繁瑣的任務,而且極易出現錯誤。那麼 jenkins 能幹什麼呢?

能讓這一系列事情全部自動化:

根據規則輪詢**管理工具,獲取最新**(也可以手動或設定其他規則)

基於不同的語言進行構建(需要自行配置)

通過 ftp 把構建後的內容自動上傳到對應的伺服器

使用外掛程式或者指令碼,將發布包內容更新到各個環境

通過命令列呼叫自動化測試指令碼,搭配**覆蓋率工具執行自動化測試

展示自動化測試報告,並郵件通知構建情況

也就是讓整合過程中繁瑣的事情都自動化了,那麼進行持續整合也不會因為整合頻率過高帶來的環境部署和頻繁測試而導致開發效率降低。

ci持續整合工程師前景 持續整合CI的好處

不同的測試階段 持續整合 continuous integration,ci 是一種軟體開發實踐,即團隊開發成員經常整合他們的工作,通常每個成員每天至少整合一次,也就意味著每天可能會發生多次整合。每次整合都通過自動化的構建 包括編譯,發布,自動化測試 來驗證,從而盡早地發現整合錯誤。提高開發效率 把...

軟體測試知識 什麼是持續整合?

持續整合是一種 devops 軟體開發實踐。採用持續整合時,開發人員會定期將 變更合併到乙個 儲存庫中,之後系統會自動執行構建和測試操作。持續整合通常是指軟體發布流程的構建或整合階段,需要用到自動化元件 例如 ci 或構建服務 和文化元件 例如學習頻繁地整合 持續整合的主要目標是更快發現並解決缺陷,...

什麼是工程師文化?

為什麼要工程師文化 看看最近二十年來社會的發展,計算機和網際網路已經滲透到了這個社會的每乙個角落,各式各樣的計算機技術成為了整個世界發展的強大引擎,各式各樣的創新,無論是業務創新還是技術創新,都是依託於技術的快速演進,技術成了解放生產力提高社會運作的效率的中堅力量。以美帝為首的技術創新公司著著實實的...