分布式項(xiàng)目開發(fā)模型Chiefr分析
推薦 + 挑錯(cuò) + 收藏(0) + 用戶評(píng)論(0)
本項(xiàng)目的目的是在項(xiàng)目成員之間共享和去中心化項(xiàng)目不同部分的開發(fā)和維護(hù)。Chiefr的靈感來自于Linux內(nèi)核及其“get_contributors.pl”腳本的貢獻(xiàn)模型。
為什么要使用Chiefr?
一個(gè)典型項(xiàng)目默認(rèn)的貢獻(xiàn)方案是完全集中化的。如果有一個(gè)貢獻(xiàn)提交到項(xiàng)目或者倉(cāng)庫(kù)上,那么每個(gè)相關(guān)的人員都被通知到,并且各自手頭的工作都會(huì)被中斷,因此,這種方案并不適合于規(guī)模大的項(xiàng)目。對(duì)于擁有多個(gè)活躍成員的項(xiàng)目來說,隨著項(xiàng)目的成長(zhǎng),其成員所浪費(fèi)的時(shí)間也會(huì)越來越多,因?yàn)樗械呢暙I(xiàn)和問題都會(huì)發(fā)送給每個(gè)成員。
Chiefr的目標(biāo)就是要通過更好的流程和工具來解決這個(gè)問題。
Chiefr如何工作?
Chiefr要求將單個(gè)項(xiàng)目拆分為多個(gè)邏輯段,每個(gè)段都有各自的維護(hù)者、存儲(chǔ)庫(kù)和可選的其他服務(wù),比如郵件列表或者聊天群組。為方便管理,根據(jù)項(xiàng)目的大小,每個(gè)段可以切分成多個(gè)更小的段。
如果在把這個(gè)模型應(yīng)用到自己項(xiàng)目的過程中遇到任何問題,請(qǐng)隨時(shí)與我聯(lián)系。
特性
對(duì)于維護(hù)者:
- 將代碼庫(kù)不同部分的所有權(quán)分配給不同的維護(hù)者
- 自動(dòng)拉取請(qǐng)求的標(biāo)簽和相關(guān)維護(hù)者的任務(wù)
對(duì)于貢獻(xiàn)者:
- 在提交貢獻(xiàn)的時(shí)候,Chiefr會(huì)顯示對(duì)應(yīng)的倉(cāng)庫(kù)和維護(hù)者
使用方法Chiefr工具
Chiefr同時(shí)也是一個(gè)依賴于.maintainers.ini的命令行工具,具有以下命令:
- submit:顯示在哪里可以提交補(bǔ)丁
- list:列出項(xiàng)目所有的段
- update-pull-request:根據(jù).maintainers.ini更新一個(gè)拉取請(qǐng)求的被指定人和主題
- ask:顯示哪里可以提出有關(guān)某個(gè)主題的問題(尚未實(shí)現(xiàn))
- add:將新的段添加到.maintainers.ini中(尚未實(shí)現(xiàn))
- scan-project:搜索沒有維護(hù)者的段(尚未實(shí)現(xiàn))
維護(hù)者文件( .maintainers.ini)
Chiefr需要在項(xiàng)目根目錄中存在.maintainers.ini文件,該文件定義了項(xiàng)目的段。.maintainers.ini可以包含任意數(shù)量的段。
段
段定義了項(xiàng)目的邏輯塊資源。
段的屬性:
- Chiefs:負(fù)責(zé)當(dāng)前段的項(xiàng)目成員列表,多個(gè)成員之間用逗號(hào)分隔
- Repository:用于提交補(bǔ)丁的倉(cāng)庫(kù)URL
- Chat:聊天服務(wù)URL
- MailList:郵件列表URL
- IssueTracker:?jiǎn)栴}跟蹤URL
- Reviewers:負(fù)責(zé)代碼審核的項(xiàng)目成員列表,多個(gè)成員之間用逗號(hào)分隔
- FilePatterns:用于指定要包含在此段中文件的正則表達(dá)式列表,用逗號(hào)分隔
- ContentPatterns:指定此段中應(yīng)包含哪些補(bǔ)丁內(nèi)容的正則表達(dá)式列表,用逗號(hào)分隔
- FileExcludePatterns:用正則表達(dá)式從FilePatterns匹配到的文件中排除出去,用逗號(hào)分隔
- ContentExcludePatterns:用正則表達(dá)式從ContentPatterns匹配到的文件中內(nèi)容中排除出去,用逗號(hào)分隔
- Priority:如果某個(gè)更改集會(huì)影響多個(gè)段,則此優(yōu)先級(jí)用于描述所列段的順序
- Topics:段的主題,多個(gè)主題之間用逗號(hào)分隔
.maintainers.ini中有關(guān)段的示例:
?。踓ode]Repository = https://github.com/asciimoo/chiefrIssueTracker =https://github.com/asciimoo/chiefr/issuesChiefs = @asciimooFilePatterns = .+.goPriority =1安裝 $ go get github.com/asciimoo/chiefr $ “$GOPATH/bin/chiefr”--help缺陷
非常好我支持^.^
(0) 0%
不好我反對(duì)
(0) 0%