Can you summarize the following document?
        
  GitLab CI/CD 是 GitLab 內建的一款工具,用於 通過 持續方法論(continuous methodologies)的軟體開發。 該持續方法論包含三個部分:持續整合、持續交付、持續部署。

  當開發者配置了 GitLab CI/CD,那麼當開發者使用 git 提交(commit),那麼就會觸發 CI/CD 相關的一系列操作。 這一系列操作由 GitLab Runne 執行,相關配置記載於codice_1檔案中,執行的結果將在Gitlab頁面中展示。 每一次的提交(commit)將會出發一條流水線(pipeline),流水線是不同階段(Stage)的任務(Job)的一個集合。 階段(Stage)用於邏輯切割,同一階段的任務以並行方式執行,階段間是順序執行,上一個階段執行失敗,下一個階段將不會執行。 codice_2 為第一階段(譯為:之前) 和 codice_3 最後階段(譯為:提交時),這兩個階段不需要被定義,也無法被修改。  示例如下:<syntaxhighlight> stages:  job 0:  job 1:  job 2:  job 3:  job 4:  job 5: </syntaxhighlight>任務(Job)可以構建Artifacts,提供使用者下載。 利用場景如下:在Android專案中,當配置了自動化構建Artifacts後,每次提交(push)程式碼後,GitLab CI/CD 將自動構建 APK檔案,並在GitLab的頁面上提供下載按鈕。  任務(Job)可以自動部署檔案到外部伺服器,並通過 GitLab 頁面檢視該伺服器現今部署的狀態,以及進行重新部署(re-deploy)等操作。通過使用設定 codice_4 的 codice_5 和 codice_6,還可以在GitLab頁面直接上檢視網站。 通過該操作可以達到 持續部署 的目的。 deploy_staging:

  GitLab Runner 是一項開源專案,用於執行任務(Job),並將執行結果傳輸回Gitlab。  Runner 可安裝在作業系統,也可以通過Docker的方式安裝。當 Runner 安裝後,需要將其註冊在 GitLab 中,方可使用。Runner 有若干種執executor可供使用,如:Docker、Shell、SSH。 Runner 預設使用Shell,Shell模式下,所有構建都會發生在Runner安裝的機器中,操作十分簡單,但是缺點很多。  codice_7 檔案中通過 codice_8 關鍵詞選擇Runner。Runner 的相關配置在 codice_9 檔案中記載。

  對 基於Docker的專案 進行構建和測試,有幾種方式。一種方式是,使用shell executor進行Docker CLI命令操作。 另一種方式就是使用Docker executor進行操作,它是官方推薦的操作,executor通過在Docker中使用 Docker-in-Docker映象 進行Job相關操作。

  GitLab 由烏克蘭程式設計師 Dmitriy Zaporozhets 和 Valery Sizov 開發,它由 Ruby 寫成。後來,一部分用 Go 語言重寫。截止 2018 年 5 月,該公司約有 290 名團隊成員,以及 2000 多名開源貢獻者。 GitLab 被 IBM,Sony,Jülich Research Center,NASA,Alibaba,Invincea,O’Reilly Media,Leibniz-Rechenzentrum (LRZ),CERN,SpaceX 等組織使用。  最初,該產品命名為 GitLab,是完全免費的開源軟體,按照 MIT 許可證分發。  2013 年 7 月,產品被拆分為:GitLab CE(社群版)和 GitLab EE(企業版),當時,GitLab CE 和 GitLab EE 的許可仍然是根據 MIT 許可分發的免費和開源軟體。  2014 年 2 月,GitLab公司宣佈採用開放核心業務模式。GitLab EE 設定在專有許可證下,並且包含 CE 版本中不存在的功能。  2015 年 7 月,GitLab公司又籌集了 150 萬美元的種子基金。截至 2015 年的客戶包括阿里巴巴集團,IBM 和 SpaceX。  2015 年 9 月,GitLab 從 Khosla Ventures 籌集了 400 萬美元的 A 系列資金。  2016 年 7 月,GitLab CEO 確認了公司的開放核心功能。  2016 年 9 月,GitLab 從 August Capital 和其他公司籌集了 2000 萬美元的 B 系列資金。

  Gitlab 於 2017 年 1 月 31 日釋出一系列緊急通告稱,位於荷蘭的系統管理員因操作失誤而刪除了包含 310GB 產品資料的資料夾,在取消刪除操作後僅剩下 4.5GB。運維人員之後檢查發現,網站宣稱和配備的多項備份措施均未正常運作或難以利用。Gitlab 在 YouTube 直播了恢復資料的過程。網站最終丟失了最後 6 小時的資料庫資料(包括問題、合併請求、評論、片段等,不含程式碼庫)。
GitLab 是由 GitLab Inc.開發,一款基於 Git 的完全整合的軟體開發平臺(fully development platform)。 另外,GitLab 且具有wiki以及線上編輯、issue跟蹤功能、CI/CD 等功能。Gitlab 和 Github的比較可以參考該網站。