vbp-5p了解自動(dòng)化構(gòu)建概念、步驟及優(yōu)點(diǎn)_第1頁(yè)
vbp-5p了解自動(dòng)化構(gòu)建概念、步驟及優(yōu)點(diǎn)_第2頁(yè)
vbp-5p了解自動(dòng)化構(gòu)建概念、步驟及優(yōu)點(diǎn)_第3頁(yè)
vbp-5p了解自動(dòng)化構(gòu)建概念、步驟及優(yōu)點(diǎn)_第4頁(yè)
vbp-5p了解自動(dòng)化構(gòu)建概念、步驟及優(yōu)點(diǎn)_第5頁(yè)
已閱讀5頁(yè),還剩83頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Visual

BuildProfessional自動(dòng)化構(gòu)建范圍與目標(biāo)課程目標(biāo):了解自動(dòng)化構(gòu)建的概念、步驟及優(yōu)點(diǎn)了解VBP的概念及作用掌握VBP的常規(guī)用法?2內(nèi)容提要第一節(jié):自動(dòng)化構(gòu)建介紹自動(dòng)化構(gòu)建的概念自動(dòng)化構(gòu)建的步驟自動(dòng)化構(gòu)建的優(yōu)點(diǎn)如何進(jìn)行自動(dòng)化構(gòu)建第二節(jié):VBP介紹?3自動(dòng)化構(gòu)建的概念?構(gòu)建構(gòu)建就是將代碼從配置管理庫(kù)取出至特定機(jī)器(構(gòu)建服務(wù)器)并編譯,整合相關(guān)資源,最終形成安裝包的過(guò)程,還可以包含后續(xù)部署等工作自動(dòng)化構(gòu)建自動(dòng)化構(gòu)建就是讓構(gòu)建中所做的一系列工作自動(dòng)完成,包括簽出代碼、編譯、打包、部署等工作?4構(gòu)建的步驟構(gòu)建一般包含以下幾個(gè)主要步驟:清空本地代碼文件配置管理工具(StarTeam、SVN)調(diào)用編譯工具(VS、Delphi)調(diào)用打包工具(WISE、NSIS)拷貝文件至目標(biāo)位置發(fā)送郵件通知?5?6自動(dòng)化構(gòu)建的優(yōu)點(diǎn)自動(dòng)完成所有構(gòu)建工作,從而節(jié)省人力促進(jìn)產(chǎn)品質(zhì)量使用了固定的構(gòu)建模板及流程后,使得構(gòu)建規(guī)范化,減少了構(gòu)建過(guò)程中的人為出錯(cuò),從而提高了產(chǎn)品質(zhì)量,bug發(fā)現(xiàn)與修復(fù)的速度也加快了避免枯燥的工作自動(dòng)化構(gòu)建使得這些重復(fù)、繁瑣的工作能夠自動(dòng)完成,從而使人可以關(guān)注更加重要的事情自動(dòng)化構(gòu)建的優(yōu)點(diǎn)(續(xù))的頭腦中,自擺脫對(duì)關(guān)鍵 的依賴–構(gòu)建流程通常都保存在一些關(guān)鍵動(dòng)化構(gòu)建可以將其文檔化定時(shí)構(gòu)建,防止遺忘方便、快捷,無(wú)需值守?7?8如何進(jìn)行自動(dòng)化構(gòu)建基于上述優(yōu)點(diǎn)有必要進(jìn)行自動(dòng)化構(gòu)建,那么如何進(jìn)行自動(dòng)化構(gòu)建呢?使用批處理文件使用專門的工具,例如VBP、Java構(gòu)建工具(包括Apache

Ant、Maven、Quokka等)內(nèi)容提要第一節(jié):自動(dòng)化構(gòu)建介紹第二節(jié):VBP介紹VBP的概念及特點(diǎn)如何安裝VBP如何使用VBP?9VBP的概念VBP(Visual

Build

Professional),是Kinook公司生產(chǎn)的一款強(qiáng)大的自動(dòng)化構(gòu)建,它能夠幫助構(gòu)建者為了構(gòu)建或發(fā)布而創(chuàng)建一個(gè)自動(dòng)且可重復(fù)執(zhí)行的過(guò)程它能夠自動(dòng)執(zhí)行那些需要被反復(fù)執(zhí)行而又單調(diào)乏味的步驟,在執(zhí)行過(guò)程中會(huì)顯示詳細(xì)的狀態(tài),執(zhí)行失敗的步驟會(huì)提示出來(lái),并且在問(wèn)題解決后可以繼續(xù)執(zhí)行,從而確保所有步驟都執(zhí)行成功其版本是7.1,目前使用較多的是5.7、6.7?10VBP能做什么的源代碼,以及其他代碼初始化 表設(shè)置寫入txt和ini文件在文件中搜索并替換內(nèi)容從版本控制系統(tǒng)中恢復(fù)或更新類型庫(kù)、(.NET)組件設(shè)置工程版本可以構(gòu)建Borland、工程?11VBP能做什么(續(xù))將文件拷貝到 或者網(wǎng)絡(luò)上的其他位置創(chuàng)建、更新ZIP文件,并可從中提取文件對(duì)構(gòu)建設(shè)置執(zhí)行單元測(cè)試用例發(fā)送郵件告知構(gòu)建成功、失敗的信息啟動(dòng)或停止Windows服務(wù)對(duì)所有構(gòu)建行為記錄日志,并生成日志報(bào)告自動(dòng)執(zhí)行事先設(shè)定且不需中斷的構(gòu)建活動(dòng)?12VBP的特點(diǎn)VBP除了具備一般構(gòu)建工具的功能外,還具有以下特點(diǎn):兼容多種開(kāi)發(fā)部署工具Visual

StudioDephi……提供可視化的界面,操作簡(jiǎn)便創(chuàng)建 的構(gòu)建日志?13VBP支持的工具?14VBP支持的工具(續(xù))?15安裝VBP運(yùn)行VBP安裝包,彈出歡迎界面,點(diǎn)擊Next?16安裝VBP(續(xù))進(jìn)入 界面,選擇“I

accept

theagreement”,并點(diǎn)擊Next?17安裝VBP(續(xù))進(jìn)入安裝路徑設(shè)置界面,可以點(diǎn)擊Browse選擇路徑,也可以直接在編輯框中輸入路徑。設(shè)置完成后,點(diǎn)擊Next?18安裝VBP(續(xù))進(jìn)入安裝模式設(shè)置界面,默認(rèn)完全安裝(FullInstallation)。設(shè)置完成后,點(diǎn)擊Next?19安裝VBP(續(xù))進(jìn)入開(kāi)始菜單文件夾設(shè)置界面,默認(rèn)為

“VisualBuildProfessional”,在界面下方還可以選擇不創(chuàng)建開(kāi)始菜單文件夾。設(shè)置完成后,點(diǎn)擊Next?20安裝VBP(續(xù))進(jìn)入附加任務(wù)選擇界面,其中可以設(shè)置是否創(chuàng)建桌面圖標(biāo)和快速啟動(dòng)圖標(biāo),默認(rèn)只創(chuàng)建桌面圖標(biāo)。設(shè)置完成后,點(diǎn)擊Next?21安裝VBP(續(xù))進(jìn)入安裝信息確認(rèn)界面,若信息無(wú)誤,則點(diǎn)擊

Install開(kāi)始安裝;否則,點(diǎn)擊Back返回之前的步驟?22安裝VBP(續(xù))安裝完成后,彈出安裝完成提示界面,在此可以選擇是否立即啟動(dòng)VBP以及是否顯示幫助文檔,點(diǎn)擊Finish,完成安裝?23主界面介紹:包含了各種工具按鈕,這些工具也可在右?鍵工菜程單

頁(yè):顯示各種不同的視圖工程視圖:顯示當(dāng)前所選工程視圖的詳細(xì)信息構(gòu)建視圖:顯示當(dāng)前構(gòu)建信息?24屬性列介紹每個(gè)工程視圖里都有若干屬性列,其中大多相同?25?26屬性列介紹(續(xù))Step

Name:表明該步驟的名稱Build:構(gòu)建時(shí)是否執(zhí)行該步驟,選中執(zhí)行,取消選中則不執(zhí)行Build

Status:顯示當(dāng)前步驟的構(gòu)建狀態(tài)空白:沒(méi)有執(zhí)行Building:執(zhí)行中Completed:執(zhí)行成功Failed:執(zhí)行失敗構(gòu)建狀態(tài)?27屬性列介紹(續(xù))Action:表明屬于哪一類操作,文件(Copy

Files)、運(yùn)行命令行(Run

Program)等Default

Property:表明具體如何操作Ignore

Fail:是否允許失敗,若勾選,則失敗后可以繼續(xù)運(yùn)行下去;否不勾選,則失敗后就停在當(dāng)前步驟Build

Rule:構(gòu)建規(guī)則,表示該步執(zhí)行是否需要特定條件Description:對(duì)當(dāng)前步驟的簡(jiǎn)要描述?28?29Project

ViewMacrosProject

StepsSubroutine

StepsFailure

StepsGlobal

Subroutine

StepsMacros?30宏的介紹宏用來(lái)管理VBP中的宏,宏實(shí)際上就是將一些經(jīng)常用到的路徑或參數(shù)用一個(gè)具有代表意義的名稱來(lái)代替使用宏可以使得工程更加靈活,具有更強(qiáng)的適應(yīng)性?31?32宏的分類宏總共分為四類:Temporary

macros(臨時(shí)宏):僅在當(dāng)前的VBP實(shí)例中存在,它們常用于保存并傳遞臨時(shí)變量的值,這些臨時(shí)變量在本次構(gòu)建結(jié)束后就不再有用Project

macros(工程宏):僅在當(dāng)前工程生效Global

macros(全局宏):對(duì)所有工程都生效System

macros(系統(tǒng)宏):Windows環(huán)境變量(不能被用戶手動(dòng)更改),以及集成的一些工具?33宏的調(diào)用若同一名稱的宏出現(xiàn)在不同類型中,則按照以下順序從高優(yōu)先級(jí)到低優(yōu)先級(jí)調(diào)用TemporaryProjectGlobalSystem調(diào)用宏時(shí),采用在宏名前后各加一個(gè)“%”的形式,例如:%DOSCMD%,即表示調(diào)用

DOSCMD這個(gè)宏?34重點(diǎn)宏介紹有些宏在每個(gè)構(gòu)建文件里都會(huì)出現(xiàn),且經(jīng)常被調(diào)用:BuildFileName:構(gòu)建文件的名稱BuildFilesDir:本地構(gòu)建文件存放位置BuildIndex:構(gòu)建版本號(hào),每次都會(huì)自動(dòng)遞增ProjName:工程名稱SourceDir:本地代碼及資源存放路徑TeamMail:郵件列表重點(diǎn)宏介紹(續(xù))配置管理庫(kù)中的工程位置,例如:STPROJ編譯文件存放位置,例如:DELPHI、DEVENV2008……打包文件存放位置,例如:WiseApp對(duì)于

、移動(dòng)、重命名等操作,往往需要調(diào)用DOS指令實(shí)現(xiàn),這就需要用到DOS命令宏,即DOSCMD?35?36Project

ViewMacrosProject

StepsSubroutine

StepsFailure

StepsGlobal

Subroutine

StepsProject

Steps?37工程步驟介紹它包含了組成工程的主要步驟,使用該頁(yè)可以添加所有在構(gòu)建時(shí)需要執(zhí)行的步驟這里的每一步均代表Subroutine

Steps里的某個(gè)子程序(Subroutine),執(zhí)行該步即調(diào)用相應(yīng)子程序?38操作實(shí)例在“工程步驟”頁(yè)面新建一個(gè)組(Group)右擊空白處,彈出右鍵菜單?39操作實(shí)例(續(xù))選擇Insert彈出 框,其中可以選擇該步 哪一類操作,這里選擇Group,并使用名稱test?40操作實(shí)例(續(xù))此時(shí)“Build”列默認(rèn)被勾上,相當(dāng)于勾選了

“Include

In

Build”,表示該步默認(rèn)被執(zhí)行?41操作實(shí)例(續(xù))連續(xù)使用“Move

Down”將該步向下移動(dòng)?42操作實(shí)例(續(xù))使用“Unindent”選項(xiàng)將該步上升一層?43操作實(shí)例(續(xù))使用“Callapse”選項(xiàng)將該步及其子步驟收縮?44操作實(shí)例(續(xù))其他操作介紹:若右擊某個(gè)步驟并選擇Delete,則將該步刪除Copy、Cut、Paste: 或移動(dòng)其他步驟Rebuild

Selected:重新執(zhí)行當(dāng)前步驟Build

From

Cursor:從當(dāng)前選定步驟開(kāi)始執(zhí)行,直至結(jié)束B(niǎo)uild

Group:執(zhí)行某一組Build

To

Cursor:從開(kāi)始執(zhí)行到當(dāng)前所選步驟?45?46Project

ViewMacrosProject

StepsSubroutine

StepsFailure

StepsGlobal

Subroutine

StepsSubroutine

Steps?47?48子程序步驟介紹它是定義子程序的地方,一個(gè)子程序包含很多步驟及其子步驟每個(gè)子程序必須有一個(gè)唯一的名稱,若兩個(gè)子程序的名稱相同,則只調(diào)用第一個(gè)子程序流程介紹一個(gè)完整的構(gòu)建工程至少包含以下幾個(gè)步驟:自增Label號(hào)清空本地代碼文件配置管理工具(StarTeam、SVN)調(diào)用編譯工具(VS、Delphi)調(diào)用打包工具(WISE、NSIS)拷貝文件至目標(biāo)位置保存 并更新至配置管理庫(kù)發(fā)送郵件通知?49自增Label號(hào)通過(guò)某種 語(yǔ)言(JS、PS、VBS)編寫,使得當(dāng)前Label號(hào)自動(dòng)增加1,從而為在配置管理庫(kù)中建一個(gè)新的Label做好準(zhǔn)備?50清空本地代碼文件為了避免之前代碼及編譯時(shí)所生成文件的影響,需要清空相應(yīng) ,以保證構(gòu)建環(huán)境的純凈DeleteFolder(

"%SourceDir%"

)?51練使用命令行清空SourceDi及其子%DOSCMD%

rd

/S

/Q%ProjectDir%/S

除 本身外,還將刪除指定 下的所有子 和文件。用于刪除 樹(shù)。/Q

安靜模式,刪除時(shí)不要求確認(rèn)?52配置管理工具所有源代碼均放在 的配置管理庫(kù)中,需要相應(yīng)的配置管理工具(StarTeam、SVN),從而取出代碼連接配置管理庫(kù)并登錄從配置管理庫(kù)中取出代碼?53連接配置管理庫(kù)并登錄%DOSCMD%

net

use

\\server-ii/USER:dbuser

dbuser表示連接server-ii(配置管理庫(kù)所在的機(jī)器的名稱),并以dbuser、dbuser作為用戶名、登錄這臺(tái)機(jī)器?54練習(xí)2以administrator、iflytek為用戶名、speech-print這臺(tái)機(jī)器%DOSCMD%

net

use

\\speech-print/USER:administrator

iflytek?55從配置庫(kù)中取出代碼需要選擇并設(shè)置協(xié)議類型、主機(jī)名稱、端、代碼所在位置以及戶名、 (注:此處配置管理庫(kù)所需的用是加密的)?56從配置庫(kù)中取出代碼(續(xù))設(shè)置本地工作路徑,用于存放取出的代碼?57調(diào)用編譯工具調(diào)用編譯工具(VS、Delphi)編譯取出的源代碼,從而為打包做好準(zhǔn)備?58練習(xí)3調(diào)用VS2008編譯ProjectDi下的工程文件Common.sln,該步驟的名稱為BuildCommon?59調(diào)用打包工具調(diào)用打包工具(Wise、NSIS),將相關(guān)資源和編譯后文件打成安裝包,此處以NSIS為例?60調(diào)用打包工具(續(xù))需要配置以下幾處:構(gòu)建文件位置及名稱輸出文件路徑輸出文件名?61?62練習(xí)4調(diào)用Wise打包,打包文件放在SetupDi下,打包文件名為PSCPCPTool.wsi,輸出位置為L(zhǎng)ocalBackupDir

/ProjName/,該步驟的名稱為Build_BuildIndex子Build

PSCPCPTool。注:斜體字均為宏。練習(xí)4(續(xù))?63拷貝文件至目標(biāo)位置安裝包打好后,需要將其Copy到指定位置,便于管理與?64拷貝文件至目標(biāo)位置(續(xù))指定源位置(Source

Folder)和目標(biāo)位置(DestFolder)確定包含哪些文件(Include)和排除哪些文件(Exclude)其他設(shè)置,包括子僅 改變的文件(夾),即增量從目標(biāo)位置刪除源位置中已經(jīng)不存在的文件(夾)完成后刪除目標(biāo)位置文件,即剪切?65?66練習(xí)5在有變化的情況下,將SetupDir/Distribute下的Build_BuildIndex.xml文件轉(zhuǎn)移至LocalBackupDir

/ProjName/Build_BuildIndex,該步驟的名稱為Copy

log

fileto

local

dir。注:斜體字均為宏。練習(xí)5(續(xù))?67保存 并更新至配置管理庫(kù)整個(gè)構(gòu)建工作完成后,需要保存,并將其更新至配置管理庫(kù),從而實(shí)現(xiàn)對(duì)構(gòu)建 的版本管理主要包括以下五個(gè)步驟:鎖定文件清除只讀屬性保存簽入解除鎖定?68?69發(fā)送郵件通知構(gòu)建完成后,需要將構(gòu)建結(jié)果告知項(xiàng)目組成員,以便大家及時(shí)了解本次構(gòu)建結(jié)果,VBP中可以通過(guò)自動(dòng)發(fā)送郵件達(dá)到這一目的,主要包括以下兩步:生成日志文件發(fā)送郵件發(fā)送日志文件需要設(shè)置以下參數(shù):輸入文件(Input

file)(可以去除輸入日志文件中的xml標(biāo)記)XSLT樣式模板(XSLT

stylesheet)將上兩者整合后得到輸出文件(Output

file)?70發(fā)送郵件(Port)服務(wù)端需要設(shè)置以下參數(shù):郵件服務(wù)器地址(Mail

Server)及端延時(shí)(Timeout),0表示不設(shè)置延時(shí)登錄郵件服務(wù)器的用戶名和

(Username、Password)域(

,有就填,沒(méi)有就不填)在什么情況下記錄日志(Logging),默認(rèn)僅發(fā)生錯(cuò)誤時(shí)記錄(Errors

only)?71服務(wù)端參數(shù)設(shè)置?72發(fā)送郵件(續(xù))發(fā)送郵件需要設(shè)置以下參數(shù):發(fā)件人(From)收件人(To)(Subject)正文(Message)是否使用HTML格式(Send

as

HTML

Message)附件(Atta

ents)?73郵件參數(shù)設(shè)置?74練習(xí)6以HTML格式發(fā)送一封郵件,參數(shù)設(shè)置如下:郵件服務(wù)器:端

:21延時(shí):20秒用戶名:administrator:iflytek域:僅在發(fā)生錯(cuò)誤和警告時(shí)記錄日志?75練習(xí)6(續(xù))發(fā)件人:收件人:TeamMail:

ProjName_BuildNO

Build

BuildResult正文: o,All

teammembers! This

is

AutoBuild

Tool

notify

mail.附件:ProjDIR\LOG\BuildFileName.htm注:斜體字均為宏?76練習(xí)6(續(xù))?77練習(xí)6(續(xù))?78?79Project

ViewMacrosProject

StepsSubroutine

StepsFailure

StepsGlobal

Subroutine

StepsFailure

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論