GitLab
是一套基于Ruby開發(fā)的開源Git項(xiàng)目管理應(yīng)用,其提供的功能和Github類似,不同的是GitLab提供一個(gè)GitLab CE社區(qū)版本,用戶可以將其部署在自己的服務(wù)器上,這樣就可以用于團(tuán)隊(duì)內(nèi)部的項(xiàng)目代碼托管倉庫。
GitLab CI
是GitLab 提供的持續(xù)集成服務(wù)(從8.0版本之后,GitLab CI已經(jīng)集成在GitLab中了),只要在你的倉庫根目錄下創(chuàng)建一個(gè).gitlab-ci.yml 文件, 并為該項(xiàng)目指派一個(gè)Runner,當(dāng)有合并請(qǐng)求或者Push操作時(shí),你寫在.gitlab-ci.yml中的構(gòu)建腳本就會(huì)開始執(zhí)行。
GitLab Runner
是配合GitLab CI進(jìn)行構(gòu)建任務(wù)的應(yīng)用程序,GitLab CI負(fù)責(zé)yml文件中各種階段流程的執(zhí)行,而GitLab Runner就是具體的負(fù)責(zé)執(zhí)行每個(gè)階段的腳本執(zhí)行,一般來說GitLab Runner需要安裝在單獨(dú)的機(jī)器上通過其提供的注冊(cè)操作跟GitLab CI進(jìn)行綁定,當(dāng)然,你也可以讓其和GitLab安裝在一起,只是有的情況下,你代碼的構(gòu)建過程對(duì)資源消耗十分嚴(yán)重的時(shí)候,會(huì)拖累GitLab給其他用戶提供政策的Git服務(wù)。
持續(xù)集成/部署環(huán)境 CD
持續(xù)集成是程序開發(fā)人員在頻繁的提交代碼之后,能有相應(yīng)的環(huán)境能對(duì)其提交的代碼自動(dòng)執(zhí)行構(gòu)建(Build)、測(cè)試(Test),然后根據(jù)測(cè)試結(jié)果判斷新提交的代碼能否合并加入主分支當(dāng)中,而持續(xù)部署也就是在持續(xù)集成之后自動(dòng)將代碼部署(Deploy)到生成環(huán)境上
