建構 & 測試
詳細了解您可以在 Buddy 中執行的建構和測試
Buddy使用傳遞流水線來建構、測試和部署網站和應用程式。流水線由可以輕松安排的操作組成,涵蓋了Web開發的整個過程:擷取依賴項、編譯代碼、壓縮CSS、運作Gulp/Grunt、使用Webpack捆綁子產品:可達到您所要實作工作流程的任何任務。
總覽
當觸發流水線時,Buddy會啟動一個獨立的Docker容器,在該容器中,它會在存儲倉的關聯工件中運作建構指令。工件(由建構操作建立的檔案)儲存在流水線檔案系統中,并且可用于部署等其他操作。
Buddy為最流行的程式設計語言、架構和任務運作器提供了20多個預定義環境。環境及其配置由其作者和與給定語言或工具相關的社群正式準許。
配置
建構操作使用在預定義環境中執行的建構指令。這些指令可以作為SH或BASH腳本運作。如果任何指令以錯誤結束,Buddy将停止執行并将其标記為失敗。建構操作需要配置兩件事:
- 在容器中運作指令[]
- 運作指令所需的環境 []
例如,如果您想測試您的Go應用程式,您隻需選擇Go操作,輸入要運作的指令,然後選擇Go版本。
建構指令
建構指令在頁籤中定義。在每次執行時運作,應用于:
- 提取依賴項
- 建構和測試您的應用
資訊
您可以使用環境變量來參數化您的建構.
提醒
不要輸入準備環境的指令(例如: apt-get install),如果要準備環境安裝與設定,請使用頁籤(見下文)
環境
"環境"頁籤允許您指定所需的架構或工具的版本。所有操作都使用來自Docker Hub的官方Docker鏡像作為模闆。您還可以使用所選注冊中心的自定義鏡像。
環境定制
如果所選鏡像缺少建構所需的元件(例如: Go擴充或Apache子產品),您可以在頁籤之下安裝。
資訊
頁籤中的指令在第一次執行期間僅運作一次。它們被緩存在容器中,不需要再次下載下傳(除非流水線緩存被清除)。
提醒
- 在執行自定義指令期間,存儲倉檔案不可用。這意味着您不應該使用它來下載下傳存儲倉中已經定義的依賴項
- 環境變量和SSH密鑰在指令執行期間也不可用
- 如果要使用多行指令,請確定以反斜杠結束行\
檔案系統挂載路徑和工作目錄
預設情況下,檔案系統挂載到 /buddy/$repo-slug-name 路徑中的容器。這與執行建構指令的路徑相同。您可以在頁籤中更改挂載路徑和工作目錄:
Docker容器即建構環境
除了預定義的環境,您還可以使用自己的Docker鏡像或托管在Docker Hub、Amazon ECR、谷歌GCR或私有注冊中心上的任何鏡像。要使用您自己的鏡像,請選擇自定義建構操作:
資訊
鏡像将使用已安裝的檔案系統和“建構指令”字段中定義的指令運作。如果要使用Docker鏡像中定義的指令運作鏡像,請使用運作Docker鏡像操作。
提醒
您還可以使用流水線中先前操作中建構的Docker鏡像,而無需從注冊中心拉取。