導航:首頁 > 編程大全 > 什麼是配置管理工具

什麼是配置管理工具

發布時間:2025-02-28 17:55:08

㈠ 什麼是軟體配置管理工具

配置管理工具是指支持完成配置項標識、版本控制、變化控制、審計和狀態統計等任務的工具。
軟體配置管理工具的功能
(1)配置支持。配置是一組有共同目的的中間軟體產品,其中每一個中間軟體產品稱為一個配置項。軟體配置管理支持用戶建立配置項之間的各種關系,並對這些關系加以維護,維護這些關系有助於完成某些特定任務(例如Build)和標識某一變化對整個系統開發的影響。

(2)版本控制。版本控制是軟體配置管理的基本要求,它可以保證在任何時刻恢復任何一個版本、版本控制還記錄每個配置項的發展歷史,這樣就保證了版本之間的可追蹤性,也為查找錯誤提供了幫助,版本控制也是支持並行開發的基石出。
(3)變更控制。變更控制是指在整個軟體生存周期中對軟體變更的控制。變更控制系統記錄每次變更的相關信息(變更的原因、變更的實施者以及變更的內容等)。這些信息有助於追蹤出現的各種問題。
(4)構造支持。軟體系統往往由許多配置項構成,建立整個系統是個復雜和費時的過程,軟體配置管理工具可以記錄和追蹤每個配置項信息,幫助用戶自動和快速地建立系統,和版本控制結合在一起,可以有效地支持同時開發系統的多個版本。
(5)過程支持。過程詳細描述了各種人員在整個軟體生存周期中如何使用整個系統,過程式控制制可以保證每一步都按照正確的順序由合適的人員實施。過程式控制制本來是軟體開發環境中一個獨立的部分,現在軟體配置管理也開始提供這部分功能。目前的軟體配置管理工具對過程的支持還很不夠,而且支持方式差別也很大,許多管理只是提供一個預先定義好的生存周期模型,並保證開發的每一步都按照這個模型規定進行。
(6)團隊支持。團隊支持是指多個開發人員同時開發一個軟體系統。大多數軟體系統都需要多個開發人員參與,有效的團隊支持對開發人員是很有用的。團隊支持主要包括工作區管理、並行開發管理和遠程開發管理(某些軟體配置管理工具還包括對開發人員支持)。
工作區管理是指為每個開發人員提供獨立的工作區,開發人員可以互不幹擾地進行工作,也可以選擇某個時機向其他開發人員提供自己的最新修改結果或接受其他開發人員的修改結果。
並行管理是指多個開發人員同時進行的修改可以進行合並,並行開發管理可以盡可能地自動解決合並中可能出現的沖突。
遠程開發管理是並行開發管理的特例,是指在廣域網上並行開發的管理,許多適合於區域網的方法可能不適合廣域網。
團隊支持的基礎是版本控制和版本合並。
(7)報告/查詢。軟體配置管理可以向用戶提供配置庫的各種查詢信息,主要包括依賴關系報告、變化影響報告、Build報告、版本差異報告、歷史報告、訪問控制報告、沖突檢測報告。實際上許多軟體配置管理工具的此項功能是分散在各種相應的功能中的。
(8)審計控制。軟體配置管理通過審計控制來驗證軟體配置管理過程,以保證配置庫中所有配置項的完整性。簡單的審計控制是記錄軟體配置管理工具執行的所有命令,復雜的審計控制還包括記錄每個配置項的狀態變化。
(9)其他功能。除了以上的主要功能外,軟體配置管理還可以提供許可權控制、人員管理和配置庫管理等管理,這些功能主要是為軟體配置管理實現以上功能提供保障。
軟體配置管理工具的選擇
目前配置管理工具可以分為3個級別:
(1)版本控制工具,是入門級的工具,例如:CVS、VSS。
(2)項目級配置管理工具,適合管理中小型的項目,在版本管理的基礎上增加變更控制、狀態統計的功能,例如:ClearCase、PVCS。
(3)企業級配置管理工具,在實現傳統意義的配置管理的基礎上又具有比較強的過程管理功能,例如:ALLFUSIONHarvest。在建立自己的配置管理實施方案時,一定要根據自己的管理需要,選擇適合自己的工具,從而搭建一個最適合自己的管理平台。如果我們的管理目標是建立組織級配置管理架構,並且要實現配置管理的所有功能,從而為以後的過程管理行為提供基礎數據的話,那麼我們建議選擇專用的配置管理工具。
1.支持的操作系統
這幾款工具都支持各種主流的操作系統,如Windows、LINUX、UNIX,都支持分布式開發。CVS、Harvest、VSS、ClearCase的Server都可以安裝在Windows、LINUX、UNIX、AIX等操作系統上。
2.版本管理功能
CVS與Harvest、VSS、ClearCase都可以進行版本管理,都支持並行開發。在與開發工具的集成方面,CVS可以與各種Java開發工具集成,而Harvest支持SCC介面,可與VB、VC等集成,此外支持與IBM的WSAD集成。
3.變更控制功能
Harvest、ClearCase支持並提供了郵件通知、表單(類似任務說明書或變更通知)等手段來加強團隊的信息溝通,而且提供審批、晉升等手段來方便管理項目。Harvest是基於過程的變更,可有效的進行變更控制,它在進行配置管理時更注重軟體開發的過程與生命周期的概念;ClearCase相比HarVest則更強調賦予發人員更大的發揮空間,通過集成ClearQuest可以有效地進行變更的跟蹤與監控。CVS是基於文件的變更處理,不能跟蹤、監控項目的變更,但是結合開放源碼的BugTrackI具也能進行變更管理。
4.狀態統計功能
CVS、Harvest、ClearCase均提供了強大的統計信息功能。
5.數據的安全性
Harvest提供了全面的許可權控制,所有的軟體資產存放在Oracle資料庫中,利用Oracle的特性來保障數據的完整性與安全,並可以定時備份,在許可權控制和安全性方面是這三個工具中是最好的;而CVS、ClearCase主要依賴操作系統的許可權設置;但ClearCase採用自己的文件系統,在安全性方面也有嚴格的控制,而CVS的安全性與備份功能需要通過設置操作系統許可權來實現。在配置管理的基本功能的實現上,CVS提供了版本管理和部分變更管理的功能,Harvest、ClearCase完成配置管理的功能的同時還可以幫助軟體開發組織積累項目中的數據提升軟體開發過程能力。
軟體配置管理工具的簡單應用
應用軟體的規模及復雜程度日趨大型化、復雜化,這就導致軟體開發的方式也從早期的單兵作戰式或手工作坊式漸漸轉變為集團化、工廠流水線式的團隊協作開發方式。在這種開發模式中會遇到一些問題,例如:

●需要將整個軟體版本恢復到以前某一時間的狀態;
●控制某一程序在同一時間內只能由一個開發人員進行修改;
●限制隨意修改程序;
●對每個開發人員編寫的程序質量進行評估。
如何解決上述問題,管理好項目的每一步運作,成為每一位項目主管需要解決的課題。目前,許多配置管理工具能夠與各種流行的開發軟體進行無縫的連接,它們有機地結合在一起,能夠完整地保存開發中對應用程序每一個源文件所有的修改記錄,因此充分地利用配置管理工具能夠對軟體開發進行有效的管理,其具體表現有以下幾個方面:
(1)隨時將程序恢復到以前某一時間點。配置管理工具可以將某一程序恢復到以前某一時間的狀態,甚至將整個軟體版本恢復到以前某一時間的狀態。它能比較程序的不同版本,方便地識別出被修改,刪除或插入的具體行,可以將兩個不同版本的修改合並到一個新文件中,如果一段重要的代碼被刪除了,它可以迅速恢復這段代碼。
(2)實現代序的互序性修改。配置管理工具能夠實現某一程序在同一時間只能由一個開發人員進行修改。其具體實現方式是:開發人員從源文件存放處檢出(Cherk out)一個程序,這時其他開發人員就不可以再檢出同一個程序了,只有當第一個開發人員修改測試完成後,將更新版本的代碼做檢入(Check in)操作,其他開發人員才能檢出同一個程序-當然,現在有些配置管理工具也可以配置成允許多入修改,即同時檢出同一個程序.最後可以將不同版本的修改合並到一個新程序中。
(3)對程序修改進行有效的管理。在配置管理工具中可以將用戶分為管理員和程序員兩種角色,只有管理員可以將程序凍結(Freeze)和解凍(Unfreeze),被凍結的程序是下允許修改的。修改程序的流程為:
①用戶提交需求書,程序員提交程序設計說明書,項目主管審核通過後,配置管理員(CMO)將程序解凍;
②由程序員檢出程序;
③程序員修改程序;
④修改完成後程序員提交測試請求給測試小組,測試小組進行測試,如果測試不通過,轉向第③步;
⑤測試通過以後程序員填寫本次修改記錄,然後檢入程序;
⑥配置管理員將程序凍結。
至此完成一次程序的修改。在軟體開發後期或者軟體正式投入使用時,這種方式對保證軟體的穩定運行能起列非常重要的作用。
(4)將開發環境與測試環境、運行環境進行有效的隔離:比較大型的軟體開發項目部有專門的測試小組;採用配置管理工具後,開發人員有自己單獨的開發環境,測試人員有自己的測試環境-測試人員測試無誤後才檢入程序,可避免錯誤的程序影響其他人員使用和測試幢用系統;項目進行到一定階段,可隨時用配置管理工具生成一個新的版本,投入運行—生成運行版本時可以選擇以前所有的修改記錄。
(5)評估開發人員編寫的程序質量,控制開發進度。配置管理工具完整地保存在開發中對應用程序的每一個源文件所有的修改汜錄-這些記錄包括完成修改程序的開發人員、修改的時間、所進行的具體修改以及對本次修改的解釋。項目主管通過調閱這些記錄,對程序修改的次數、修改原因和修改情況進行統計,就能夠對每一個程序員編寫的程序質量進行綜合評估,這些記錄還能使項目主管對整個項目的進度、程序的編寫修改情況有一個整體的了解。
(6)管理文檔。配置管理工具不僅為各種開發軟體提供了存放對象的介面,還能存放任意類型的文件.這樣可以在配置管理工具中建立專門的文件夾,用來仃放軟體廾發過程中牛成的各種文檔,對於每個文檔可以存放它的多個版本,供隨時查閱。
注意:配置管理軟體的安全性一般,為確保軟體開發過程中源代碼與文檔的安全,制定一個合理的系統備份策略是必要的。
總之,在一個項目小組開發環境中,配置管理工具的採用是非常必要的。它就好像建立一部軟體開發的編年史,不僅僅對軟體的版本進行了控制,還能夠協調多個外發人員的工作,對整個軟體的開發過程進行有效的管理,大大提高了軟體開發的效率,收到事半功倍的效果。
軟體配置管理工具的使用要求
使用軟體配置管理工具必須注意:
(1)始終保持每個軟體配置管理項的正確性,即始終正確反映軟體需求;
(2)確保每個軟體配置管理項之間均「文實相符,文文一致」;
(3)確保每個軟體配置管理項的安全。
軟體配置管理工具評估
對工具的評估應側重於功能的適用性,而不應一味強調功能的全面性;產品評估應了解如下問題:
●該產品的哪一方面功能可解決目標組織的當前問題,滿足該組織在軟體配置管理上的需求;
●該產品在目標機構的峰值負荷下的運行效率將如何;
●該產品對並發使用的支持情況如何;

●該產品與現有系統、工具、流程、環境的兼容性如何;
●該產品的成熟性和穩定性如何(選擇成熟的產品是降低軟體開發成本、提高軟體可靠性的重要手段),應盡可能選擇市場佔有率高的工具;
●該產品是否易學易用;
●該產品的購買、安裝、實施、維護費用是否可以接受。

㈡ 配置管理工具有哪些五大最流行的配置管理工具

了解一下配置管理工具,以找出哪個最適合你的 DevOps 組織。
-- Marco Bravo
DevOps 正因為有提高產品質量、縮短產品開發時間等優勢,目前備受業界關注,同時也在長足發展當中。
DevOps 的核心價值觀 是 團隊文化(Culture)、 自動化(Automation)、 評估(Measurement)和 分享(Sharing)(CAMS),同時,團隊對 DevOps 的執行力也是 DevOps 能否成功的重要因素。
團隊文化讓大家團結一致;自動化是 DevOps 的基礎;評估保證了及時的改進;分享讓 CAMS 成為一個完整的循環過程。
DevOps 的另一個思想是任何東西,包括伺服器、資料庫、網路、日誌文件、應用配置、文檔、自動化測試、部署流程等,都可以通過代碼來管理。
在本文中,我主要介紹配置管理的自動化。配置管理工具作為 基礎架構即代碼(Infrastructure as Code)(IaC)的一部分,支持使用經過測試和驗證的軟體開發實踐,通過明文定義文件管理和配置數據中心。
DevOps 團隊只需要通過操作簡單的配置文件,就可以實現應用開發中包括版本控制、測試、小型部署、設計模式在內的這些最佳實踐。總而言之,配置管理工具實現了通過編寫代碼來使基礎架構的配置和管理變得自動化。
為什麼要使用配置管理工具?
配置管理工具可以提高應用部署和變更的效率,還可以讓這些流程變得可重用、可擴展、可預測,甚至讓它們維持在期望的狀態,從而讓資產的可控性提高。
使用配置管理工具的優勢還包括:
讓代碼遵守編碼規范,提高代碼可讀性;具有 冪等性(Idempotency),也就是說,無論執行多少次重復的配置管理操作,得到的結果都是一致的;分布式的設計可以方便地管理大量的遠程伺服器。
配置管理工具主要分為 拉取(pull)模式和 推送(push)模式。拉取模式是指安裝在各台伺服器上的 代理(agent)定期從 中央存儲庫(central repository)拉取最新的配置並應用到對應的伺服器上;而推送模式則由 中央伺服器(central server)的中央伺服器會觸發其它受管伺服器的更新。
五大最流行的配置管理工具
目前配置管理工具有很多,不同的配置管理工具都有自己最適合的使用場景。而對於下面五個我按照字母順序列出的配置管理工具,都對 DevOps 有明顯的幫助:全都具有開源許可證、使用外部配置文件、支持無人值守運行、可以通過腳本自定義運行。下面對它們的介紹都來源於它們的軟體庫和官網內容。
Ansible
「Ansible 是一個極其簡潔的 IT 自動化平台,可以讓你的應用和系統以更簡單的方式部署。不需要安裝任何代理,只需要使用 SSH 的方式和簡單的語言,就可以免去腳本或代碼部署應用的過程。」—— GitHub Ansible 代碼庫
官網文檔社區
Ansible 是我最喜歡的工具之一,我在幾年前就開始使用了。你可以使用 Ansible 在命令行中讓多個伺服器執行同一個命令,也可以使用 YAML 格式的 劇本(playbook)來讓它自動執行特定的操作,這促進了技術團隊和非技術團隊之間的溝通。簡潔、無代理、配置文件對非技術人員友好是它的幾個主要優點。
由於 Ansible 不需要代理,因此對伺服器的資源消耗會很少。Ansible 默認使用的推送模式需要藉助 SSH 連接,但 Ansible 也支持拉取模式。 劇本 可以使用最少的命令集編寫,當然也可以擴展為更加精細的自動化任務,包括引入角色、變數和其它人寫的模塊。
你可以將 Ansible 和其它工具(包括 Ansible Works、Jenkins、RunDeck、 ARA 等)結合起來使用,因為這些工具 提供了運行劇本時的可追溯性 ,這樣就可以創建控制流程的中央控制台。
CFEngine
「CFEngine 3 是一個流行的開源配置管理系統,它主要用於為大規模的系統提供自動化配置和維護。」—— GitHub CFEngine 代碼庫
官網文檔社區
CFEngine 最早在 1993 年由 Mark Burgess 作為自動配置管理的科學方法提出,目的是降低計算機系統配置中的熵,最終收斂到期望的配置狀態,同時還闡述了冪等性是讓系統達到期望狀態的能力。Burgess 在 2004 年又提出了 承諾理論 (Promise Theory),這個理論描述了代理之間自發合作的模型。
CFEngine 的最新版本已經用到了承諾理論,在各個伺服器上的代理程序會從中央存儲庫拉取配置。CFEngine 的配置對專業技能要求較高,因此它比較適合技術團隊使用。
Chef
「為整個基礎架構在配置管理上帶來便利的一個系統集成框架。」—— GitHub Chef 代碼庫
官網文檔社區
Chef 通過由 Ruby 編寫的「 菜譜(recipe)」來讓你的基礎架構保持在最新、最兼容的狀態,這些「菜譜」描述了一系列應處於某種狀態的資源。Chef 既可以通過客戶端-服務端的模式運行,也可以在 chef-solo 這種獨立配置的模式下運行。大部分雲提供商都很好地集成了 Chef,因此可以使用它為新機器做自動配置。
Chef 有廣泛的用戶基礎,同時也提供了完備的工具包,讓不同技術背景的團隊可以通過「菜譜」進行溝通。盡管如此,它仍然算是一個技術導向的工具。
Puppet
「Puppet 是一個可以在 Linux、Unix 和 Windows 系統上運行的自動化管理引擎,它可以根據集中的規范來執行諸如添加用戶、安裝軟體包、更新伺服器配置等等管理任務。」—— GitHub Puppet 代碼庫
官網文檔社區
Puppet 作為一款面向運維工程師和系統管理員的工具,在更多情況下是作為配置管理工具來使用。它通過客戶端-服務端的模式工作,使用代理從主伺服器獲取配置指令。
Puppet 使用 聲明式語言(declarative language)或 Ruby 來描述系統配置。它包含了不同的模塊,並使用 清單文件(manifest files)記錄期望達到的目標狀態。Puppet 默認使用推送模式,但也支持拉取模式。
Salt
「為大規模基礎結構或應用程序實現自動化管理的軟體。」—— GitHub Salt 代碼庫
官網文檔社區
Salt 的專長就是快速收集數據,即使是上萬台伺服器也能夠輕松完成任務。它使用 Python 模塊來管理配置信息和執行特定的操作,這些模塊可以讓 Salt 實現所有遠程操作和狀態管理。但配置 Salt 模塊對技術水平有一定的要求。
Salt 使用客戶端-服務端的結構(Salt minions 是客戶端,而 Salt master 是服務端),並以 Salt 狀態文件記錄需要達到的目標狀態。
總結
DevOps 工具領域一直在發展,因此必須時刻關注其中的最新動態。希望這篇文章能夠鼓勵讀者進一步探索相關的概念和工具。為此, 雲原生計算基金會(Cloud Native Computing Foundation)(CNCF)在 Cloud Native Landscape Project 中也提供了很好的參考案例。

㈢ 什麼是軟體工具

使用軟體工具能節省軟體生產開發時間和費用,提高軟體生產率和質量。 從軟體工程的觀點來看,軟體工具能夠支持軟體生存期的各個階段⒛芑ハ嘟岷瞎鉤曬ぞ呦低場?/SPAN 軟體工具的種類繁多,從軟體過程的觀點通常可以分為:項目管理工具、配置管理工具、分析和設計工具、程序設計工具、測試工具以及維護工具等。 (1)項目管理工具:支持項目管理活動的工具。通常,這類工具把重點放在特定的管理環節上,例如工作量、成本和工期估算以及項目調度計劃等。 (2)配置管理工具:支持完成配置項標識、版本控制、變化控制、審計和狀態統計等任務的工具。 (3)分析和設計工具:輔助建立軟體的系統模型和設計的工具。分析和設計引擎將成為新一代分析設計工具,該工具可以對任何分析和設計方法進行定製,根據需要,支持特定的分析和設計方法。 (4)程序設計工具:包括常規的編碼工具編譯程序、編輯程序、排錯程序及第四代語言、應用程序生成器、資料庫查詢語言和面向對象(OO)程序設計環境等。 (5)測試工具:可以分為數據獲取工具、靜態分析工具、動態分析工具、模擬工具以及測試管理工具等。其中,靜態分析工具通過對源程序的程序結構、數據流和控制流進行分析,得出程序中函數(過程)的調用與被調用關系、分支和路徑、變數定義和引用等情況,發現語義錯誤。動態分析工具通過執行程序,檢查語句、分支和路徑覆蓋,測試有關變數值的斷點,即對程序的執行流行探測。另一類動態分析工具稱為截獲/播放工具。測試管理工具用以控制並協調軟體測試的每一個主要步驟,進行回歸測試,比較運行結果和期望輸出之間的差異,並可實施程序的成批測試。 (6)維護工具:支持軟體維護的工具。大致可分為逆向工程工具和再生工程工具。逆向工程工具對已經開發完成的源程序進行分析,抽取程序的系統結構、控制結構、邏輯流程、數據結構和數據流等信息,並生成分析和設計模型以及其它設計信息。再生工程工具用來支持重構一個功能和性能更為完善的、改進的軟體系統。

閱讀全文

與什麼是配置管理工具相關的資料

熱點內容
maya粒子表達式教程 瀏覽:84
抖音小視頻如何掛app 瀏覽:283
cad怎麼設置替補文件 瀏覽:790
win10啟動文件是空的 瀏覽:397
jk網站有哪些 瀏覽:134
學編程和3d哪個更好 瀏覽:932
win10移動硬碟文件無法打開 瀏覽:385
文件名是亂碼還刪不掉 瀏覽:643
蘋果鍵盤怎麼打開任務管理器 瀏覽:437
手機桌面文件名字大全 瀏覽:334
tplink默認無線密碼是多少 瀏覽:33
ipaddgm文件 瀏覽:99
lua語言編程用哪個平台 瀏覽:272
政采雲如何導出pdf投標文件 瀏覽:529
php獲取postjson數據 瀏覽:551
javatimetask 瀏覽:16
編程的話要什麼證件 瀏覽:94
錢脈通微信多開 瀏覽:878
中學生學編程哪個培訓機構好 瀏覽:852
榮耀路由TV設置文件共享錯誤 瀏覽:525

友情鏈接