持續集成(Continuous Integration)
管道(Pipeline)
持續集成(CI)是每當團隊成員提交變更至版本控制系統后,自動化生成並測試代碼的過程。
管道(Pipeline)定義了應用程序的持續集成過程。管道由很多步驟組成,這些步驟被稱為任務(Task)①。可以把管道任務想象成一段腳本,這段腳本定義了應用如何逐步被生成、測試、部署
管道在代碼被提交后被觸發運行②。管道可以被設置為自動運行,也可以手動運行。管道需要對接到代碼倉庫,比如GitHub,Bitbucket或者Subversion。
任務代理(Build Agent)③生成或部署代碼。每當生成或部署開始時,系統會啟動一個或多個任務(jobs)。任務代理(Agent)是每次運行生成或部署任務時運行的可被安裝的軟件。在使用Azure Pipelines時,我們可以使用Microsoft-hosted agend。使用Microsoft-hosted agents,我們得以免於親自管理。管道每次事實上運行於一個新建的虛擬機里。一共有六種類型的虛擬機鏡像可供選擇,比如Ubuntu 16.04。
管道的最終產物是build artifact④,Artifact可以被視為編譯得到的需要被測試或部署的最小的單元。比如,artifact可以是:
- 一個打包成.jar或.zip文件的Java或.net應用
- 一個C++或Javascript庫
- 一個虛擬機,雲或Docker鏡像