北京軟件公司采用持續(xù)性交付中的集成問(wèn)題,原因和解決方案_北京軟件開(kāi)發(fā)公司
發(fā)表日期:2017-04-17 12:06:14 ?? 文章編輯:宜天信達(dá) ?? 瀏覽次數(shù):
北京軟件公司采用的連續(xù)交付是一種軟件開(kāi)發(fā)規(guī)程,軟件始終保持可釋放性。這些文獻(xiàn)包含了如何采用持續(xù)交付的說(shuō)明,但在實(shí)踐中采用是一個(gè)挑戰(zhàn)。我們選擇了其中幾個(gè)進(jìn)行進(jìn)一步分析,基于它們包含采用持續(xù)交付的經(jīng)驗(yàn)證據(jù),并專(zhuān)注于實(shí)踐而不僅僅是模具。我們定性分析了選定的文章,并提出了問(wèn)題,原因和解決方案。問(wèn)題和解決方案主題合成為七個(gè)主題:構(gòu)建設(shè)計(jì),系統(tǒng)設(shè)計(jì),集成,測(cè)試,發(fā)布,人力和組織與資源。
軟件開(kāi)發(fā)中集成問(wèn)題
整合主題涵蓋了將源代碼整合到主線中時(shí)出現(xiàn)的問(wèn)題。這個(gè)主題的問(wèn)題在表8中有描述。
這個(gè)主題中的所有代碼都通過(guò)報(bào)告的因果關(guān)系進(jìn)行連接,見(jiàn)圖。6。有些人試圖避免分支的整合問(wèn)題,但長(zhǎng)期以來(lái),實(shí)際上提到了長(zhǎng)期的分支機(jī)構(gòu),使整合更加麻煩:
隨著主要代碼基礎(chǔ)的發(fā)展,分支機(jī)構(gòu)進(jìn)一步遠(yuǎn)離干線,使得分支機(jī)構(gòu)較終并入后備箱變得越來(lái)越痛苦和復(fù)雜。
報(bào)告了集成問(wèn)題與相關(guān)測(cè)試問(wèn)題之間的因果關(guān)系。
圖選項(xiàng)
集成主題中的另一個(gè)有趣的特征是代碼破壞,工作阻塞和合并沖突之間的惡性循環(huán)。情況強(qiáng)調(diào):一旦構(gòu)建中斷,團(tuán)隊(duì)就會(huì)遇到一種“停電”。修復(fù)時(shí)間越長(zhǎng),修改越困難,將更改合并在一起。很多時(shí)候,這種合并的努力導(dǎo)致進(jìn)一步的構(gòu)建中斷等等。
大提交
較大的提交是有問(wèn)題的,因?yàn)樗鼈儼鄠€(gè)可能與其他變更相沖突的更改:
這些較大的更改集意味著在完成登記之前需要更多的文件合并,進(jìn)一步延長(zhǎng)提交所需的時(shí)間。
然而,北京軟件公司開(kāi)發(fā)人員大量提交的原因有很多:耗時(shí)的測(cè)試,大功能,網(wǎng)絡(luò)延遲和緩慢的集成審批流程。因此,為了處理大的事情,必須考慮到這些根本原因。
合并沖突
合并沖突發(fā)生在不同開(kāi)發(fā)者所做的更改沖突時(shí)。解決這樣的沖突可以付出巨大的努力:
我們感覺(jué)到長(zhǎng)時(shí)間運(yùn)行的分支機(jī)構(gòu)合并了太多次的痛苦。合并沖突可能需要幾個(gè)小時(shí)才能解決,而且很容易意外中斷代碼庫(kù)。
合并沖突可能由長(zhǎng)時(shí)間運(yùn)行的分支或大提交引起。延遲執(zhí)行過(guò)程,如冗長(zhǎng)的代碼審查也可能導(dǎo)致合并沖突[C21]。在某些情況下,合并沖突可能更少:如果軟件開(kāi)發(fā)人員在源代碼的不同部分工作,或者有少量軟件開(kāi)發(fā)人員。
軟件開(kāi)發(fā)中集成問(wèn)題
問(wèn)題 | 描述 |
---|---|
大提交 | 提交包含大量更改。 |
合并沖突 | 將更改合并顯示更改之間的沖突。 |
破碎的建造 | 建筑物長(zhǎng)時(shí)間斷裂或經(jīng)常斷裂。 |
工作堵塞 | 完成工作任務(wù)由于隊(duì)列中的構(gòu)建或其他集成被破壞或阻止。 |
長(zhǎng)跑分支 | 代碼在分支機(jī)構(gòu)開(kāi)發(fā),持續(xù)時(shí)間長(zhǎng)。 |
破碎的開(kāi)發(fā)流程 | 開(kāi)發(fā)人員分心,發(fā)展的流程突破。 |
緩慢整合批準(zhǔn) | 更改被批準(zhǔn)緩慢的主線。 |
這個(gè)主題中的所有代碼都通過(guò)報(bào)告的因果關(guān)系進(jìn)行連接,見(jiàn)圖。6。有些人試圖避免分支的整合問(wèn)題,但長(zhǎng)期以來(lái),實(shí)際上提到了長(zhǎng)期的分支機(jī)構(gòu),使整合更加麻煩:
隨著主要代碼基礎(chǔ)的發(fā)展,分支機(jī)構(gòu)進(jìn)一步遠(yuǎn)離干線,使得分支機(jī)構(gòu)較終并入后備箱變得越來(lái)越痛苦和復(fù)雜。
報(bào)告了集成問(wèn)題與相關(guān)測(cè)試問(wèn)題之間的因果關(guān)系。
圖選項(xiàng)
集成主題中的另一個(gè)有趣的特征是代碼破壞,工作阻塞和合并沖突之間的惡性循環(huán)。情況強(qiáng)調(diào):一旦構(gòu)建中斷,團(tuán)隊(duì)就會(huì)遇到一種“停電”。修復(fù)時(shí)間越長(zhǎng),修改越困難,將更改合并在一起。很多時(shí)候,這種合并的努力導(dǎo)致進(jìn)一步的構(gòu)建中斷等等。
大提交
較大的提交是有問(wèn)題的,因?yàn)樗鼈儼鄠€(gè)可能與其他變更相沖突的更改:
這些較大的更改集意味著在完成登記之前需要更多的文件合并,進(jìn)一步延長(zhǎng)提交所需的時(shí)間。
然而,北京軟件公司開(kāi)發(fā)人員大量提交的原因有很多:耗時(shí)的測(cè)試,大功能,網(wǎng)絡(luò)延遲和緩慢的集成審批流程。因此,為了處理大的事情,必須考慮到這些根本原因。
合并沖突
合并沖突發(fā)生在不同開(kāi)發(fā)者所做的更改沖突時(shí)。解決這樣的沖突可以付出巨大的努力:
我們感覺(jué)到長(zhǎng)時(shí)間運(yùn)行的分支機(jī)構(gòu)合并了太多次的痛苦。合并沖突可能需要幾個(gè)小時(shí)才能解決,而且很容易意外中斷代碼庫(kù)。
合并沖突可能由長(zhǎng)時(shí)間運(yùn)行的分支或大提交引起。延遲執(zhí)行過(guò)程,如冗長(zhǎng)的代碼審查也可能導(dǎo)致合并沖突[C21]。在某些情況下,合并沖突可能更少:如果軟件開(kāi)發(fā)人員在源代碼的不同部分工作,或者有少量軟件開(kāi)發(fā)人員。