1.2 GitLab CI/CD 簡介

GitLab CI/CD簡介

GitLab 內置持續集成功能

持續集成 (CI)

  • 集成團隊中每個開發人員提交的代碼到代碼存儲庫中。
  • 開發人員在Merge或者Pull請求中合併拉取新代碼。
  • 在提交或者合併更改到代碼存儲庫之前,會觸發了構建,測試和新代碼驗證的管道。
  • CI可幫助您在開發週期的早期發現並減少錯誤

連續交付 (CD)

  • 可通過結構化的部署管道確保將經過CI驗證的代碼交付給您的應用程序。
  • CD可以將經過驗證的代碼更快地移至您的應用程序。

CI/CD 一起 可以加快團隊爲客戶和利益相關者交付成果的速度。CI和CD必須無縫協作,以使您的團隊快速有效地進行構建,並且對於確保完全優化的開發實踐至關重要。

images


GitLab CI/CD優勢

  • 開源: CI/CD是開源GitLab社區版和專有GitLab企業版的一部分。

  • 易於學習: 具有詳細的入門文檔。

  • 無縫集成: GitLab CI / CD是GitLab的一部分,支持從計劃到部署,具有出色的用戶體驗。

  • 可擴展: 測試可以在單獨的計算機上分佈式運行,可以根據需要添加任意數量的計算機。

  • 更快的結果: 每個構建可以拆分爲多個作業,這些作業可以在多臺計算機上並行運行。

  • 針對交付進行了優化: 多個階段,手動部署, 環境 和 變量。

imags


GitLab CI/CD特點

  • 多平臺: Unix,Windows,macOS和任何其他支持Go的平臺上執行構建。
  • 多語言: 構建腳本是命令行驅動的,並且可以與Java,PHP,Ruby,C和任何其他語言一起使用。
  • 穩定構建: 構建在與GitLab不同的機器上運行。
  • 並行構建: GitLab CI / CD在多臺機器上拆分構建,以實現快速執行。
  • 實時日誌記錄: 合併請求中的鏈接將您帶到動態更新的當前構建日誌。
  • 靈活的管道: 您可以在每個階段定義多個並行作業,並且可以 觸發其他構建。

  • 版本管道: 一個 .gitlab-ci.yml文件 包含您的測試,整個過程的步驟,使每個人都能貢獻更改,並確保每個分支獲得所需的管道。

  • 自動縮放: 您可以 自動縮放構建機器,以確保立即處理您的構建並將成本降至最低。

  • 構建工件: 您可以將二進制文件和其他構建工件上載到 GitLab並瀏覽和下載它們。

  • Docker支持: 可以使用自定義Docker映像, 作爲測試的一部分啓動 服務, 構建新的Docker映像,甚至可以在Kubernetes上運行。

  • 容器註冊表: 內置的容器註冊表, 用於存儲,共享和使用容器映像。

  • 受保護的變量: 在部署期間使用受每個環境保護的變量安全地存儲和使用機密。

  • 環境: 定義多個環境。

imags


GitLab CI/CD架構

GitLab CI / CD

GitLab的一部分,GitLab是一個Web應用程序,具有將其狀態存儲在數據庫中的API。 除了GitLab的所有功能之外,它還管理項目/構建並提供一個不錯的用戶界面。

GitLab Runner

是一個處理構建的應用程序。 它可以單獨部署,並通過API與GitLab CI / CD一起使用。

images

.gitlab-ci.yml

定義流水線作業運行,位於應用項目根目錄下 。

images

爲了運行測試,至少需要一個 GitLab 實例、一個 GitLab Runner、一個gitlab-ci文件


GitLab CI/CD工作原理

  • 將代碼託管到Git存儲庫。

  • 在項目根目錄創建ci文件 .gitlab-ci.yml ,在文件中指定構建,測試和部署腳本。

  • GitLab將檢測到它並使用名爲GitLab Runner的工具運行腳本。

  • 腳本被分組爲作業,它們共同組成了一個管道

images

管道狀態也會由GitLab顯示:

images

最後,如果出現任何問題,可以輕鬆地 回滾所有更改:

images

一起學習呀:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章