企業環境下 DVCS 管理的合規性,從 CVCS (Perforce) 的過渡會帶來什麼?

企業環境下 DVCS 管理的合規性,從 CVCS (Perforce) 的過渡會帶來什麼?

我在一家大型跨國公司擔任軟體工程師,目前正在與 IT 和其他開發人員就採用 DVCS(Mercurial 和/或 Git)進行非常愉快的對話。

IT 提出的問題之一是合規性和智慧財產權(順便說一句,Perforce 大聲談論這個以及與 Git 的關係)。在我看來,IT 部門的印像是,由於 Mercurial/Git 是分散式的,因此在每台開發人員機器上都擁有儲存庫是一種失控的情況,他們必須審核每個儲存庫。

我認為IT 所關心的另一件事是,現在擁有「100」個儲存庫,而不是「10」個龐大的儲存庫,我的印像是,他們認為維護/監控它們的管理工作將增加「10 -折疊」。我認為儲存庫管理軟體(Rhodecode、Atlassian Stash)將是實現存取控制和可追溯性的第一步。

我的問題是:

  1. 儲存庫管理軟體對於這種規模的公司來說是否足夠(假設約 2000 名開發人員和約 50 個 Perforce 倉庫超過約 10 台伺服器)?

  2. 這個「合規性」要求到底包含什麼?

我的公司使用 Perforce 已有約 10 年了

答案1

當您切換到 DVCS 時,並沒有太大的變化。最大的區別在於,每個開發人員工作站上的原始程式碼副本現在也是自己的儲存庫。

我懷疑 IT 部門有充分理由擔心這一點。僅僅因為 git 和 Mercurial 是分散式的,並不意味著您將直接從某些開發人員的桌面部署/交付。仍然有可能 - 並且幾乎肯定有必要 - 繼續使用每個人都簽入的一些中央存儲庫,以進行測試、品質檢查和最終發布。

無論 IT 部門是否監控開發人員工作站上的原始程式碼,都不會發生任何真正的變化。一旦推送到中央存儲庫,您仍然會將更改歷史記錄放入中央存儲庫中,我懷疑這是他們真正關心的。

你什麼獲得從 IT 的角度來看,每當開發人員進行提交時,您都不會每隔幾分鐘(或幾秒鐘!)就存取中央儲存庫。開發人員可以完成某項工作,然後僅在準備就緒時才將其推送,但仍然可以在其工作站上進行完整的版本控制,而無需頻繁訪問網路。

最後,您需要與 IT 部門進行更詳細的交談,以了解他們所討論的合規性問題的確切性質。這可以是管理知識產權、ISO 9000 或某些政府法律/法規的任何內容。

(致所有人:請隨意改進這個答案;這是不是我的專業領域...)

相關內容