欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

增量構(gòu)建方法及裝置與流程

文檔序號:11233850閱讀:379來源:國知局
增量構(gòu)建方法及裝置與流程

本發(fā)明涉及軟件開發(fā)技術(shù)領(lǐng)域,具體而言,涉及一種增量構(gòu)建方法,還涉及一種增量構(gòu)建裝置。



背景技術(shù):

隨著軟件規(guī)模的擴大和軟件復(fù)雜度的提高,在研發(fā)過程中盡快的獲得最新的開發(fā)修改并進行驗證,變得越發(fā)重要。傳統(tǒng)以全量構(gòu)建、打包、安裝(部署)、提供給測試驗證的方式存在以下缺點:

1.通常上百人或者更大規(guī)模的研發(fā)團隊,每天能有數(shù)百次的提交,如果每個版本進行全量構(gòu)建、打包、安裝(部署),就要數(shù)百小時甚至更多;

2.按計劃按固定時間間隔進行全量打包的方式,無法剝離安裝包中錯誤提交;

3.以手工開發(fā)本地構(gòu)建,發(fā)布增量替換文件給測試驗證的方式,無法保證開發(fā)本地構(gòu)建替換文件時的編譯構(gòu)建環(huán)境和構(gòu)建服務(wù)器的構(gòu)建環(huán)境一致,無法保證開發(fā)本地構(gòu)建替換文件時的代碼最終會提交到代碼倉庫;

4.開發(fā)提交代碼后,通過構(gòu)建服務(wù)器,更新相關(guān)的工程(項目)最新代碼并進行構(gòu)建,發(fā)布增量替換文件給測試的方式,會帶入其他開發(fā)新的提交,可能帶入新的問題;

5.開發(fā)提交代碼后,通過構(gòu)建服務(wù)器,更新相關(guān)的工程(項目)指定版本并行構(gòu)建,發(fā)布增量替換文件給測試的方式,可能造成少選工程或者多選工程,導(dǎo)致修改的代碼和替換文件不一致;

6.4和5兩種情況,無法準確的識別依賴組件的變更,會產(chǎn)生組件不兼容,或者工程依賴的組件未更新的情況。

因此,如何針對每次提交的變更集進行增量構(gòu)建、打包、安裝(部署),并提供給測試驗證,以規(guī)避上述缺陷,成為目前亟待解決的問題。



技術(shù)實現(xiàn)要素:

本發(fā)明旨在至少解決現(xiàn)有技術(shù)或相關(guān)技術(shù)中存在的技術(shù)問題之一。

為此,本發(fā)明的一個目的在于提出了一種增量構(gòu)建方法。

本發(fā)明的另一個目的在于提出了一種增量構(gòu)建裝置。

有鑒于此,本發(fā)明提出了一種增量構(gòu)建方法,包括:定義構(gòu)建任務(wù)的類型及其相應(yīng)的執(zhí)行順序;獲取構(gòu)建任務(wù)的變更集;將構(gòu)建任務(wù)的變更集按照執(zhí)行順序進行排序,生成構(gòu)建任務(wù)列表;根據(jù)構(gòu)建任務(wù)列表創(chuàng)建編譯環(huán)境,并依次進行編譯,將編譯輸出文件壓縮成增量包。

根據(jù)本發(fā)明的增量構(gòu)建方法,通過定義構(gòu)建任務(wù)的類型及其相應(yīng)的執(zhí)行順序,在識別構(gòu)建任務(wù)的變更集之后,能夠自動生成構(gòu)建任務(wù)列表,基于生成的構(gòu)建任務(wù)列表創(chuàng)建編譯環(huán)境,并依次進行編譯,將編譯輸出文件壓縮成增量包,從而實現(xiàn)快速、準確的構(gòu)建增量包,減少了開發(fā)與測試之間的問題反復(fù)以及可能影響產(chǎn)品質(zhì)量的因素,提升了產(chǎn)品研發(fā)效率以及補丁包的發(fā)布頻度。

另外,根據(jù)本發(fā)明上述的增量構(gòu)建方法,還可以具有如下附加的技術(shù)特征:

在上述技術(shù)方案中,優(yōu)選地,獲取構(gòu)建任務(wù)的變更集,具體包括:每次代碼修改完畢后,在提交日志中生成問題編號(issue_id),構(gòu)建問題列表(issue_id列表);將發(fā)布通過的問題列表的相關(guān)代碼更新到代碼基準庫;編譯相關(guān)代碼,將編譯中間產(chǎn)物更新到編譯環(huán)境基準庫;根據(jù)問題列表,從代碼基準庫中查找出與問題編號相關(guān)聯(lián)的提交列表(commit列表);讀取提交列表中的變更集。

在該技術(shù)方案中,產(chǎn)品研發(fā)過程中,開發(fā)完成某個新功能或者修復(fù)完某個bug(漏洞),通過在提交日志中輸入問題編號(issue_id),能夠快速構(gòu)建出問題列表(issue_id列表),增加了增量構(gòu)建的靈活性,例如,可以將issue_a、issue_b、issue_c一起構(gòu)建,如果中途發(fā)現(xiàn)issue_b的修復(fù)有問題,在issue_b和[issue_a、issue_c]變更集無交集的情況下,可將issue_b剝離,重新構(gòu)建issue_a和issue_c;通過將發(fā)布通過的問題列表對應(yīng)的相關(guān)代碼更新到代碼基準庫,以及將編譯中間產(chǎn)物更新到編譯環(huán)境基準庫,以增強軟件的可維護性,防止后續(xù)出現(xiàn)的問題;通過從代碼基準庫中查找出與問題編號相關(guān)聯(lián)的提交列表(commit列表),能夠自動識別變更集,避免了遺漏增量文件和臟代碼的帶入。

在上述任一技術(shù)方案中,優(yōu)選地,執(zhí)行順序包括:不同類型的構(gòu)建任務(wù)的執(zhí)行順序、相同類型的構(gòu)建任務(wù)的執(zhí)行順序。

在該技術(shù)方案中,構(gòu)建任務(wù)的執(zhí)行順序包括不同類型的構(gòu)建任務(wù)的執(zhí)行順序以及相同類型的構(gòu)建任務(wù)的執(zhí)行順序,通過對構(gòu)建任務(wù)的執(zhí)行順序進行定義,自動識別變更集,推導(dǎo)出構(gòu)建任務(wù)列表的方式,避免了遺漏增量文件和臟代碼的帶入,同時也提升了構(gòu)建增量的速度,進而提升提升了產(chǎn)品研發(fā)效率以及補丁包的發(fā)布頻度。

在上述任一技術(shù)方案中,優(yōu)選地,構(gòu)建任務(wù)的類型包括以下至少任一項或其組合:數(shù)據(jù)庫腳本、工程、網(wǎng)頁。

在該技術(shù)方案中,本領(lǐng)域技術(shù)人員應(yīng)該理解,構(gòu)建任務(wù)的類型包括以下至少任一項或其組合:數(shù)據(jù)庫腳本、工程、網(wǎng)頁,但不限于此。優(yōu)選地,當構(gòu)建任務(wù)為以上三種類型并存時,執(zhí)行順序為數(shù)據(jù)庫腳本、工程、網(wǎng)頁。

在上述任一技術(shù)方案中,優(yōu)選地,當構(gòu)建任務(wù)的類型為數(shù)據(jù)庫腳本時,包括系統(tǒng)庫腳本、模板庫腳本、升級腳本;當構(gòu)建任務(wù)的類型為工程時,包括工程的依賴關(guān)系。

在該技術(shù)方案中,本領(lǐng)域技術(shù)人員應(yīng)該理解,當構(gòu)建任務(wù)的類型為數(shù)據(jù)庫腳本時,數(shù)據(jù)庫腳本包括系統(tǒng)庫腳本、模板庫腳本、升級腳本,但不限于此。優(yōu)選地,當以上三種數(shù)據(jù)庫腳本并存時,執(zhí)行順序為系統(tǒng)庫腳本、模板庫腳本、升級腳本。當構(gòu)建任務(wù)的類型為工程時,根據(jù)工程的依賴關(guān)系排序并依次執(zhí)行。

本發(fā)明還提出一種增量構(gòu)建裝置,包括:設(shè)置單元,用于定義構(gòu)建任務(wù)的類型及其相應(yīng)的執(zhí)行順序;獲取單元,用于獲取構(gòu)建任務(wù)的變更集;增量構(gòu)建單元,用于將構(gòu)建任務(wù)的變更集按照執(zhí)行順序進行排序,生成構(gòu)建任務(wù)列表;增量構(gòu)建單元,還用于根據(jù)構(gòu)建任務(wù)列表創(chuàng)建編譯環(huán)境,并依次進行編譯,將編譯輸出文件壓縮成增量包。

根據(jù)本發(fā)明的增量構(gòu)建裝置,通過定義構(gòu)建任務(wù)的類型及其相應(yīng)的執(zhí)行順序,在識別構(gòu)建任務(wù)的變更集之后,能夠自動生成構(gòu)建任務(wù)列表,基于生成的構(gòu)建任務(wù)列表創(chuàng)建編譯環(huán)境,并依次進行編譯,將編譯輸出文件壓縮成增量包,從而實現(xiàn)快速、準確的構(gòu)建增量包,減少了開發(fā)與測試之間的問題反復(fù)以及可能影響產(chǎn)品質(zhì)量的因素,提升了產(chǎn)品研發(fā)效率以及補丁包的發(fā)布頻度。

另外,根據(jù)本發(fā)明上述的增量構(gòu)建裝置,還可以具有如下附加的技術(shù)特征:

在上述技術(shù)方案中,優(yōu)選地,獲取單元具體包括:問題列表生成單元,用于每次代碼修改完畢后,在提交日志中生成問題編號(issue_id),構(gòu)建問題列表(issue_id列表);代碼更新單元,用于將發(fā)布通過的問題列表的相關(guān)代碼更新到代碼基準庫;編譯更新單元,用于編譯相關(guān)代碼,將編譯中間產(chǎn)物更新到編譯環(huán)境基準庫;查找單元,用于根據(jù)問題列表,從代碼基準庫中查找出與問題編號相關(guān)聯(lián)的提交列表(commit列表);讀取單元,用于讀取提交列表中的變更集。

在該技術(shù)方案中,產(chǎn)品研發(fā)過程中,開發(fā)完成某個新功能或者修復(fù)完某個bug(漏洞),通過在提交日志中輸入問題編號(issue_id),能夠快速構(gòu)建出問題列表(issue_id列表),增加了增量構(gòu)建的靈活性,例如,可以將issue_a、issue_b、issue_c一起構(gòu)建,如果中途發(fā)現(xiàn)issue_b的修復(fù)有問題,在issue_b和[issue_a、issue_c]變更集無交集的情況下,可將issue_b剝離,重新構(gòu)建issue_a和issue_c;通過將發(fā)布通過的問題列表對應(yīng)的相關(guān)代碼更新到代碼基準庫,以及將編譯中間產(chǎn)物更新到編譯環(huán)境基準庫,以增強軟件的可維護性,防止后續(xù)出現(xiàn)的問題;通過從代碼基準庫中查找出與問題編號相關(guān)聯(lián)的提交列表(commit列表),能夠自動識別變更集,避免了遺漏增量文件和臟代碼的帶入。

在上述任一技術(shù)方案中,優(yōu)選地,執(zhí)行順序包括:不同類型的構(gòu)建任務(wù)的執(zhí)行順序、相同類型的構(gòu)建任務(wù)的執(zhí)行順序。

在該技術(shù)方案中,構(gòu)建任務(wù)的執(zhí)行順序包括不同類型的構(gòu)建任務(wù)的執(zhí)行順序以及相同類型的構(gòu)建任務(wù)的執(zhí)行順序,通過對構(gòu)建任務(wù)的執(zhí)行順序進行定義,自動識別變更集,推導(dǎo)出構(gòu)建任務(wù)列表的方式,避免了遺漏增量文件和臟代碼的帶入,同時也提升了構(gòu)建增量的速度,進而提升提升了產(chǎn)品研發(fā)效率以及補丁包的發(fā)布頻度。

在上述任一技術(shù)方案中,優(yōu)選地,構(gòu)建任務(wù)的類型包括以下至少任一項或其組合:數(shù)據(jù)庫腳本、工程、網(wǎng)頁。

在該技術(shù)方案中,本領(lǐng)域技術(shù)人員應(yīng)該理解,構(gòu)建任務(wù)的類型包括以下至少任一項或其組合:數(shù)據(jù)庫腳本、工程、網(wǎng)頁,但不限于此。優(yōu)選地,當構(gòu)建任務(wù)為以上三種類型并存時,執(zhí)行順序為數(shù)據(jù)庫腳本、工程、網(wǎng)頁。

在上述任一技術(shù)方案中,優(yōu)選地,當構(gòu)建任務(wù)的類型為數(shù)據(jù)庫腳本時,包括系統(tǒng)庫腳本、模板庫腳本、升級腳本;當構(gòu)建任務(wù)的類型為工程時,包括工程的依賴關(guān)系。

在該技術(shù)方案中,本領(lǐng)域技術(shù)人員應(yīng)該理解,當構(gòu)建任務(wù)的類型為數(shù)據(jù)庫腳本時,數(shù)據(jù)庫腳本包括系統(tǒng)庫腳本、模板庫腳本、升級腳本,但不限于此。優(yōu)選地,當以上三種數(shù)據(jù)庫腳本并存時,執(zhí)行順序為系統(tǒng)庫腳本、模板庫腳本、升級腳本。當構(gòu)建任務(wù)的類型為工程時,根據(jù)工程的依賴關(guān)系排序并依次執(zhí)行。

本發(fā)明的附加方面和優(yōu)點將在下面的描述部分中變得明顯,或通過本發(fā)明的實踐了解到。

附圖說明

本發(fā)明的上述和/或附加的方面和優(yōu)點從結(jié)合下面附圖對實施例的描述中將變得明顯和容易理解,其中:

圖1示出了本發(fā)明一實施例的增量構(gòu)建方法的流程示意圖;

圖2示出了本發(fā)明再一實施例的增量構(gòu)建方法的流程示意圖;

圖3示出了本發(fā)明一實施例的增量構(gòu)建裝置的示意框圖;

圖4示出了本發(fā)明再一實施例的增量構(gòu)建裝置的示意框圖。

具體實施方式

為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點,下面結(jié)合附圖和具體實施方式對本發(fā)明進行進一步的詳細描述。需要說明的是,在不沖突的情況下,本申請的實施例及實施例中的特征可以相互組合。

在下面的描述中闡述了很多具體細節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來實施,因此,本發(fā)明的保護范圍并不受下面公開的具體實施例的限制。

如圖1所示,根據(jù)本發(fā)明一實施例的增量構(gòu)建方法的流程示意圖:

步驟102,定義構(gòu)建任務(wù)的類型及其相應(yīng)的執(zhí)行順序;

步驟104,獲取構(gòu)建任務(wù)的變更集;

步驟106,將構(gòu)建任務(wù)的變更集按照執(zhí)行順序進行排序,生成構(gòu)建任務(wù)列表;

步驟108,根據(jù)構(gòu)建任務(wù)列表創(chuàng)建編譯環(huán)境,并依次進行編譯,將編譯輸出文件壓縮成增量包。

在該實施例中,通過定義構(gòu)建任務(wù)的類型及其相應(yīng)的執(zhí)行順序,在識別構(gòu)建任務(wù)的變更集之后,能夠自動生成構(gòu)建任務(wù)列表,基于生成的構(gòu)建任務(wù)列表創(chuàng)建編譯環(huán)境,并依次進行編譯,將編譯輸出文件壓縮成增量包,從而實現(xiàn)快速、準確的構(gòu)建增量包,減少了開發(fā)與測試之間的問題反復(fù)以及可能影響產(chǎn)品質(zhì)量的因素,提升了產(chǎn)品研發(fā)效率以及補丁包的發(fā)布頻度。

如圖2所示,根據(jù)本發(fā)明再一實施例的增量構(gòu)建方法的流程示意圖:

步驟202,定義構(gòu)建任務(wù)的類型及其相應(yīng)的執(zhí)行順序;

步驟204,獲取構(gòu)建任務(wù)的變更集;

步驟206,將構(gòu)建任務(wù)的變更集按照執(zhí)行順序進行排序,生成構(gòu)建任務(wù)列表;

步驟208,根據(jù)構(gòu)建任務(wù)列表創(chuàng)建編譯環(huán)境,并依次進行編譯,將編譯輸出文件壓縮成增量包;

其中,步驟204具體包括:

步驟2042,每次代碼修改完畢后,在提交日志中生成問題編號(issue_id),構(gòu)建問題列表(issue_id列表);

步驟2044,將發(fā)布通過的問題列表的相關(guān)代碼更新到代碼基準庫;編譯相關(guān)代碼,將編譯中間產(chǎn)物更新到編譯環(huán)境基準庫;

步驟2046,根據(jù)問題列表,從代碼基準庫中查找出與問題編號相關(guān)聯(lián)的提交列表(commit列表);讀取提交列表中的變更集。

在該實施例中,產(chǎn)品研發(fā)過程中,開發(fā)完成某個新功能或者修復(fù)完某個bug(漏洞),通過在提交日志中輸入問題編號(issue_id),能夠快速構(gòu)建出問題列表(issue_id列表),增加了增量構(gòu)建的靈活性,例如,可以將issue_a、issue_b、issue_c一起構(gòu)建,如果中途發(fā)現(xiàn)issue_b的修復(fù)有問題,在issue_b和[issue_a、issue_c]變更集無交集的情況下,可將issue_b剝離,重新構(gòu)建issue_a和issue_c;通過將發(fā)布通過的問題列表對應(yīng)的相關(guān)代碼更新到代碼基準庫,以及將編譯中間產(chǎn)物更新到編譯環(huán)境基準庫,以增強軟件的可維護性,防止后續(xù)出現(xiàn)的問題;通過從代碼基準庫中查找出與問題編號相關(guān)聯(lián)的提交列表(commit列表),能夠自動識別變更集,避免了遺漏增量文件和臟代碼的帶入。

在上述任一實施例中,優(yōu)選地,執(zhí)行順序包括:不同類型的構(gòu)建任務(wù)的執(zhí)行順序、相同類型的構(gòu)建任務(wù)的執(zhí)行順序。

在該實施例中,構(gòu)建任務(wù)的執(zhí)行順序包括不同類型的構(gòu)建任務(wù)的執(zhí)行順序以及相同類型的構(gòu)建任務(wù)的執(zhí)行順序,通過對構(gòu)建任務(wù)的執(zhí)行順序進行定義,自動識別變更集,推導(dǎo)出構(gòu)建任務(wù)列表的方式,避免了遺漏增量文件和臟代碼的帶入,同時也提升了構(gòu)建增量的速度,進而提升提升了產(chǎn)品研發(fā)效率以及補丁包的發(fā)布頻度。

在上述任一實施例中,優(yōu)選地,構(gòu)建任務(wù)的類型包括以下至少任一項或其組合:數(shù)據(jù)庫腳本、工程、網(wǎng)頁。

在該實施例中,本領(lǐng)域技術(shù)人員應(yīng)該理解,構(gòu)建任務(wù)的類型包括以下至少任一項或其組合:數(shù)據(jù)庫腳本、工程、網(wǎng)頁,但不限于此。優(yōu)選地,當構(gòu)建任務(wù)為以上三種類型并存時,執(zhí)行順序為數(shù)據(jù)庫腳本、工程、網(wǎng)頁。

在上述任一實施例中,優(yōu)選地,當構(gòu)建任務(wù)的類型為數(shù)據(jù)庫腳本時,包括系統(tǒng)庫腳本、模板庫腳本、升級腳本;當構(gòu)建任務(wù)的類型為工程時,包括工程的依賴關(guān)系。

在該實施例中,本領(lǐng)域技術(shù)人員應(yīng)該理解,當構(gòu)建任務(wù)的類型為數(shù)據(jù)庫腳本時,數(shù)據(jù)庫腳本包括系統(tǒng)庫腳本、模板庫腳本、升級腳本,但不限于此。優(yōu)選地,當以上三種數(shù)據(jù)庫腳本并存時,執(zhí)行順序為系統(tǒng)庫腳本、模板庫腳本、升級腳本。當構(gòu)建任務(wù)的類型為工程時,根據(jù)工程的依賴關(guān)系排序并依次執(zhí)行。

如圖3所示,根據(jù)本發(fā)明一實施例的增量構(gòu)建裝置的示意框圖:該裝置包括:

設(shè)置單元302,用于定義構(gòu)建任務(wù)的類型及其相應(yīng)的執(zhí)行順序;

獲取單元304,用于獲取構(gòu)建任務(wù)的變更集;

增量構(gòu)建單元306,用于將構(gòu)建任務(wù)的變更集按照執(zhí)行順序進行排序,生成構(gòu)建任務(wù)列表;

增量構(gòu)建單元306,還用于根據(jù)構(gòu)建任務(wù)列表創(chuàng)建編譯環(huán)境,并依次進行編譯,將編譯輸出文件壓縮成增量包。

在該實施例中,通過定義構(gòu)建任務(wù)的類型及其相應(yīng)的執(zhí)行順序,在識別構(gòu)建任務(wù)的變更集之后,能夠自動生成構(gòu)建任務(wù)列表,基于生成的構(gòu)建任務(wù)列表創(chuàng)建編譯環(huán)境,并依次進行編譯,將編譯輸出文件壓縮成增量包,從而實現(xiàn)快速、準確的構(gòu)建增量包,減少了開發(fā)與測試之間的問題反復(fù)以及可能影響產(chǎn)品質(zhì)量的因素,提升了產(chǎn)品研發(fā)效率以及補丁包的發(fā)布頻度。

如圖4所示,根據(jù)本發(fā)明再一實施例的增量構(gòu)建裝置的示意框圖:該裝置包括:

設(shè)置單元402,用于定義構(gòu)建任務(wù)的類型及其相應(yīng)的執(zhí)行順序;

獲取單元404,用于獲取構(gòu)建任務(wù)的變更集;

增量構(gòu)建單元406,用于將構(gòu)建任務(wù)的變更集按照執(zhí)行順序進行排序,生成構(gòu)建任務(wù)列表;

增量構(gòu)建單元406,還用于根據(jù)構(gòu)建任務(wù)列表創(chuàng)建編譯環(huán)境,并依次進行編譯,將編譯輸出文件壓縮成增量包;

其中,獲取單元404具體包括:

問題列表生成單元4042,用于每次代碼修改完畢后,在提交日志中生成問題編號(issue_id),構(gòu)建問題列表(issue_id列表);

代碼更新單元4044,用于將發(fā)布通過的問題列表的相關(guān)代碼更新到代碼基準庫;

編譯更新單元4046,用于編譯相關(guān)代碼,將編譯中間產(chǎn)物更新到編譯環(huán)境基準庫;

查找單元4048,用于根據(jù)問題列表,從代碼基準庫中查找出與問題編號相關(guān)聯(lián)的提交列表(commit列表);

讀取單元4050,用于讀取提交列表中的變更集。

在該實施例中,產(chǎn)品研發(fā)過程中,開發(fā)完成某個新功能或者修復(fù)完某個bug(漏洞),通過在提交日志中輸入問題編號(issue_id),能夠快速構(gòu)建出問題列表(issue_id列表),增加了增量構(gòu)建的靈活性,例如,可以將issue_a、issue_b、issue_c一起構(gòu)建,如果中途發(fā)現(xiàn)issue_b的修復(fù)有問題,在issue_b和[issue_a、issue_c]變更集無交集的情況下,可將issue_b剝離,重新構(gòu)建issue_a和issue_c;通過將發(fā)布通過的問題列表對應(yīng)的相關(guān)代碼更新到代碼基準庫,以及將編譯中間產(chǎn)物更新到編譯環(huán)境基準庫,以增強軟件的可維護性,防止后續(xù)出現(xiàn)的問題;通過從代碼基準庫中查找出與問題編號相關(guān)聯(lián)的提交列表(commit列表),能夠自動識別變更集,避免了遺漏增量文件和臟代碼的帶入。

在上述任一實施例中,優(yōu)選地,執(zhí)行順序包括:不同類型的構(gòu)建任務(wù)的執(zhí)行順序、相同類型的構(gòu)建任務(wù)的執(zhí)行順序。

在該實施例中,構(gòu)建任務(wù)的執(zhí)行順序包括不同類型的構(gòu)建任務(wù)的執(zhí)行順序以及相同類型的構(gòu)建任務(wù)的執(zhí)行順序,通過對構(gòu)建任務(wù)的執(zhí)行順序進行定義,自動識別變更集,推導(dǎo)出構(gòu)建任務(wù)列表的方式,避免了遺漏增量文件和臟代碼的帶入,同時也提升了構(gòu)建增量的速度,進而提升提升了產(chǎn)品研發(fā)效率以及補丁包的發(fā)布頻度。

在上述任一實施例中,優(yōu)選地,構(gòu)建任務(wù)的類型包括以下至少任一項或其組合:數(shù)據(jù)庫腳本、工程、網(wǎng)頁。

在該實施例中,本領(lǐng)域技術(shù)人員應(yīng)該理解,構(gòu)建任務(wù)的類型包括以下至少任一項或其組合:數(shù)據(jù)庫腳本、工程、網(wǎng)頁,但不限于此。優(yōu)選地,當構(gòu)建任務(wù)為以上三種類型并存時,執(zhí)行順序為數(shù)據(jù)庫腳本、工程、網(wǎng)頁。

在上述任一實施例中,優(yōu)選地,當構(gòu)建任務(wù)的類型為數(shù)據(jù)庫腳本時,包括系統(tǒng)庫腳本、模板庫腳本、升級腳本;當構(gòu)建任務(wù)的類型為工程時,包括工程的依賴關(guān)系。

在該實施例中,本領(lǐng)域技術(shù)人員應(yīng)該理解,當構(gòu)建任務(wù)的類型為數(shù)據(jù)庫腳本時,數(shù)據(jù)庫腳本包括系統(tǒng)庫腳本、模板庫腳本、升級腳本,但不限于此。優(yōu)選地,當以上三種數(shù)據(jù)庫腳本并存時,執(zhí)行順序為系統(tǒng)庫腳本、模板庫腳本、升級腳本。當構(gòu)建任務(wù)的類型為工程時,根據(jù)工程的依賴關(guān)系排序并依次執(zhí)行。

具體實施例,暢捷通tplus產(chǎn)品,在產(chǎn)品研發(fā)過程中,開發(fā)完成某個新功能/修復(fù)完某個bug,或者在產(chǎn)品發(fā)布后,針對用戶在使用過程中提出的缺陷,開發(fā)完成bug修復(fù),按照變更集構(gòu)建增量包,步驟如下:

首先,定義構(gòu)建任務(wù)的類型、定義不同類型的構(gòu)建任務(wù)執(zhí)行順序、定義相同類型的構(gòu)建任務(wù)的執(zhí)行順序,如表1、2所示:

表1構(gòu)建任務(wù)類型及執(zhí)行順序

表2定義源碼目錄對應(yīng)構(gòu)建任務(wù)的關(guān)系

其次,開發(fā)在提交代碼時,在提交日志中輸入issue_id,生成[issue_id列表];

具體的構(gòu)建[issue_id列表]的增量包的過程如下:

a.維護代碼基準、編譯環(huán)境基準

將已經(jīng)發(fā)布通過的[issue_id列表]相關(guān)代碼更新到代碼基準、編譯中間產(chǎn)物更新到編譯環(huán)境基準;

b.識別[issue_id列表]的變更集

根據(jù)[issue_id列表]從代碼倉庫中找到對應(yīng)的commit列表,讀取commit列表中的變更集;

c.根據(jù)[issue_id列表]的變更集,通過<表2>,推導(dǎo)出[構(gòu)建任務(wù)列表];

d.根據(jù)<表1>,對[構(gòu)建任務(wù)列表]排序,得到[排序后的構(gòu)建任務(wù)列表];

e.根據(jù)[排序后的構(gòu)建任務(wù)列表]創(chuàng)建[編譯環(huán)境];

f.按順序執(zhí)行[排序后的構(gòu)建任務(wù)列表],將編譯輸出的文件打成[增量包]。

在該實施例中,過定義構(gòu)建任務(wù)的類型及其相應(yīng)的執(zhí)行順序,在識別構(gòu)建任務(wù)的變更集之后,能夠自動生成構(gòu)建任務(wù)列表,基于生成的構(gòu)建任務(wù)列表創(chuàng)建編譯環(huán)境,并依次進行編譯,將編譯輸出文件壓縮成增量包,從而實現(xiàn)快速、準確的構(gòu)建增量包,減少了開發(fā)與測試之間的問題反復(fù)以及可能影響產(chǎn)品質(zhì)量的因素,提升了產(chǎn)品研發(fā)效率以及補丁包的發(fā)布頻度。

以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
拜泉县| 宾阳县| 芜湖县| 东城区| 阿瓦提县| 鹰潭市| 金秀| 天长市| 安远县| 北京市| 肃宁县| 五河县| 达孜县| 云霄县| 含山县| 灌云县| 呼和浩特市| 仁布县| 光泽县| 塘沽区| 乐清市| 碌曲县| 壶关县| 义乌市| 汝州市| 福贡县| 宽甸| 鹿邑县| 烟台市| 邢台市| 武威市| 新丰县| 十堰市| 宜城市| 贡山| 西丰县| 乐平市| 吉安县| 拉萨市| 蒲城县| 肥西县|