什麼是CI/CD(持續整合與持續交付)

將開發人員的變更頻繁整合到共用分支、每次都進行建置與自動測試的持續整合(CI),與讓測試過的變更保持隨時可發布到正式環境之狀態的持續交付(CD)合起來的稱呼。連發布都自動進行時,稱為持續部署。

日文名稱: CI/CD(継続的インテグレーション・継続的デリバリー)

「CI/CD(持續整合與持續交付)」出現在2領域的3道練習題中(軟體開發與專案管理, 雲端與容器基礎等)。

這個名詞所屬的領域: 軟體開發與專案管理

練習CI/CD(持續整合與持續交付)的題目

關於持續整合(CI)的說明,下列何者適當?

  1. A在開發的最後,將每個人花長時間所做的變更一併整合,一次進行整合測試
  2. B開發人員頻繁地(一天多次)將變更整合到共用分支,每次都執行建置與自動測試,以及早發現問題
  3. C將通過測試的變更,不經人工判斷自動發布到正式環境
查看答案與解析

正確答案:B. 開發人員頻繁地(一天多次)將變更整合到共用分支,每次都執行建置與自動測試,以及早發現問題

在持續整合中,會將變更以小而頻繁的方式整合,每次整合時都在伺服器上自動執行建置與單元測試等。由於整合的間隔短,變更之間的衝突或缺陷能在原因仍容易判斷時就找出並修正。另一個優點是,每次變更都能自動進行將既有測試全部重新執行的迴歸測試。將通過測試的變更自動發布到正式環境的是持續部署,屬於 CI 之後的階段。

關於持續交付與持續部署的差異,下列說明何者適當?

  1. A持續交付只指將原始碼變更整合到共用分支,不包含建置與測試
  2. B在持續部署中,發布到正式環境前一定要由人核准
  3. C持續交付會保持隨時可發布到正式環境的狀態,發布由人判斷執行;持續部署則會將通過測試的變更自動發布到正式環境
查看答案與解析

正確答案:C. 持續交付會保持隨時可發布到正式環境的狀態,發布由人判斷執行;持續部署則會將通過測試的變更自動發布到正式環境

兩者都會將經 CI 整合並測試過的變更,送入包含預備(staging)環境確認等的自動化管線。持續交付自動準備到可發布的狀態,是否發布到正式環境由人決定。持續部署則連最後的發布也自動進行。開發與維運相互合作,藉由這類自動化與來自維運的回饋,快速且安全地反覆發布的思維與文化稱為 DevOps。

解析中的「CI/CD(持續整合與持續交付)」

出現「CI/CD(持續整合與持續交付)」的題目(3題)

  1. 關於持續整合(CI)的說明,下列何者適當?
  2. 關於持續交付與持續部署的差異,下列說明何者適當?
  3. 以 CI/CD 管線建置的容器映像檔,在預備(staging)環境中測試並合格了。把這個映像檔發布到正式環境的方法,下列何者最適當?

相關名詞

回歸測試(Regression testing) 容器映像檔 環境變數 工作分解結構(WBS) 分支涵蓋率 白箱測試 要徑法(CPM) 敏捷開發 測試驅動開發(TDD) 等價類劃分

前往名詞解釋列表