在工作流程執行間快取檔 - Amazon CodeCatalyst

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在工作流程執行間快取檔

啟用檔案快取時,建置和測試動作會將磁碟上的檔案儲存至快取,並在後續工作流程執行時從該快取還原這些檔案。緩存減少了構建或下載運行之間沒有改變的依賴關係引起的延遲。 CodeCatalyst 也支援後援快取,可用來還原包含部分所需相依性的快取。這有助於減少快取遺漏的延遲影響。

注意

檔案快取僅適用於 Amazon CodeCatalyst 置和測試動作,且只有在設定為使用EC2運算類型時才能使用檔案快取。

關於檔案快取

檔案快取可讓您將資料組織成多個快取,每個快取都會在FileCaching屬性下參照。每個緩存保存由給定路徑指定的目錄。指定的目錄將在 future 的工作流程執行中還原。以下是具有多個名為cacheKey1和的快取的快取的範例YAML程式碼片段cacheKey2

Actions: BuildMyNpmApp: Identifier: aws/build@v1 Inputs: Sources: - WorkflowSource Configuration: Steps: - Run: npm install - Run: npm run test Caching: FileCaching: cacheKey1: Path: file1.txt RestoreKeys: - restoreKey1 cacheKey2: Path: /root/repository RestoreKeys: - restoreKey2 - restoreKey3
注意

CodeCatalyst 使用多層緩存,其中包括一個本地緩存和遠程緩存。當佈建的叢集或隨選機器在本機快取上遇到快取未命中時,會從遠端快取還原相依性。因此,某些動作執行可能會因下載遠端快取而導致延遲。

CodeCatalyst 套用快取存取限制,以確保某個工作流程中的動作無法修改來自不同工作流程的快取。這樣可以保護每個工作流程,防止其他可能會推送影響組建或部署的不正確資料 使用緩存範圍強制執行限制,該緩存範圍將緩存隔離到每個工作流程和分支配對。例如,workflow-Ain branch feature-A 具有與同級分支feature-B不同workflow-A的文件緩存。

當工作流程尋找指定的檔案快取且無法找到它時,就會發生快取遺漏。這可能是由於多種原因而發生的,例如當創建新分支或引用新緩存並且尚未創建時。它也可能發生在緩存到期時,默認情況下發生在上次使用後 14 天。若要緩解快取遺漏並提高快取命中率,請 CodeCatalyst 支援後援快取。後援快取是替代快取,提供還原部分快取的機會,部分快取可以是較舊版本的快取。透過首先搜尋屬性名稱下的相符項目來還原快取,如果找不到,則會FileCaching進行評估RestoreKeys。如果屬性名稱和所有內容都有快取未命中RestoreKeys,工作流程將繼續執行,因為快取是最好的努力,而且不能保證。

建立快取

您可以使用下列指示將快取新增至工作流程。

Visual
若要使用視覺化編輯器新增快取
  1. 請在以下位置開啟 CodeCatalyst 主控台。 https://codecatalyst.aws/

  2. 選擇您的專案。

  3. 在瀏覽窗格中,選擇 CI/CD,然後選擇 [工作流程]。

  4. 選擇工作流程的名稱。您可以依定義工作流程的來源儲存庫或分支名稱進行篩選,或依工作流程名稱或狀態進行篩選。

  5. 選擇編輯

  6. 選擇 [視覺]。

  7. 在工作流程圖中,選擇要新增快取的動作。

  8. 選擇 Configuration (組態)

  9. 在 [檔案快取-選用] 底下,選擇 [新增快取],然後在欄位中輸入資訊,如下所示:

    索引鍵

    指定主要快取屬性名稱的名稱。快取屬性名稱在工作流程中必須是唯一的。每個動作最多可以有五個項目FileCaching

    路徑

    指定快取的相關路徑。

    還原金鑰-選用

    指定找不到主要快取屬性時要用作後援的還原金鑰。還原金鑰名稱在您的工作流程中必須是唯一的。每個快取中最多可以有五個項目RestoreKeys

  10. (選擇性) 選擇「驗證」,在確認之前驗證工作流程的程YAML式碼。

  11. 選擇「確認」,輸入確認訊息,然後再次選擇「確認」。

YAML
若要使用YAML編輯器新增快取
  1. 請在以下位置開啟 CodeCatalyst 主控台。 https://codecatalyst.aws/

  2. 選擇您的專案。

  3. 在瀏覽窗格中,選擇 CI/CD,然後選擇 [工作流程]。

  4. 選擇工作流程的名稱。您可以依定義工作流程的來源儲存庫或分支名稱進行篩選,或依工作流程名稱或狀態進行篩選。

  5. 選擇編輯

  6. 選擇YAML

  7. 在工作流程動作中,新增類似下列內容的程式碼:

    action-name: Configuration: Steps: ... Caching: FileCaching: key-name: Path: file-path # # Specify any additional fallback caches # RestoreKeys: # - restore-key
  8. (選擇性) 選擇「驗證」,在確認之前驗證工作流程的程YAML式碼。

  9. 選擇「確認」,輸入確認訊息,然後再次選擇「確認」。

檔案快取限制

以下是性質名稱和的約束RestoreKeys

  • 名稱在工作流程中必須是唯一的。

  • 名稱僅限於英數字元 (A-Z、a-z、0-9)、連字號 (-) 和底線 (_)。

  • 名稱最多可包含 180 個字元。

  • 每個動作最多可以有五個快取FileCaching

  • 每個快取中最多可以有五個項目RestoreKeys

以下是路徑的限制:

  • 不允許使用星號 (*)。

  • 路徑最多可包含 255 個字元。