本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
啟用檔案快取時,建置和測試動作會將磁碟上檔案儲存至快取,並在後續工作流程執行中從該快取還原檔案。快取可減少建置或下載未在執行之間變更的相依性所導致的延遲。CodeCatalyst 也支援備用快取,可用於還原包含一些所需相依性的部分快取。這有助於減少快取遺漏的延遲影響。
關於檔案快取
檔案快取可讓您將資料整理成多個快取,每個快取都在 FileCaching
屬性下參考。每個快取都會儲存指定路徑指定的目錄。指定的目錄將在未來的工作流程執行中還原。以下是使用名為 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-A
分支feature-A
中的檔案快取與 同級分支 workflow-A
中的檔案快取不同feature-B
。
當工作流程尋找指定的檔案快取且找不到它時,就會發生快取遺漏。這可能有多種原因,例如建立新分支或參考新的快取,且尚未建立。也可能在快取過期時發生,依預設,會在上次使用後 14 天發生。為了緩解快取遺漏並提高快取命中率,CodeCatalyst 支援備用快取。備用快取是替代快取,提供還原部分快取的機會,這可能是舊版快取。快取會先在 下搜尋屬性名稱FileCaching
的相符項目,如果找不到, 會評估 RestoreKeys
。如果屬性名稱和所有 都存在快取遺漏RestoreKeys
,工作流程將繼續執行,因為快取是最佳作法,不保證。
建立快取
您可以使用下列指示將快取新增至工作流程。
使用視覺化編輯器新增快取
開啟 CodeCatalyst 主控台,網址為 https://https://codecatalyst.aws/
。 -
選擇您的專案。
-
在導覽窗格中,選擇 CI/CD,然後選擇工作流程。
-
選擇工作流程的名稱。您可以依定義工作流程的來源儲存庫或分支名稱進行篩選,或依工作流程名稱或狀態進行篩選。
-
選擇編輯。
-
選擇視覺化。
-
在工作流程圖表中,選擇您要新增快取的動作。
-
選擇 Configuration (組態)。
-
在檔案快取 - 選用下,選擇新增快取並在欄位中輸入資訊,如下所示:
索引鍵
指定主要快取屬性名稱。快取屬性名稱在工作流程中必須是唯一的。每個動作在 中最多可以有五個項目
FileCaching
。路徑
指定快取的關聯路徑。
還原金鑰 - 選用
當找不到主要快取屬性時,指定要用作備用的還原金鑰。還原金鑰名稱在工作流程中必須是唯一的。每個快取在 中最多可以有五個項目
RestoreKeys
。 -
(選用) 選擇驗證以在遞交之前驗證工作流程的 YAML 程式碼。
-
選擇遞交,輸入遞交訊息,然後再次選擇遞交。
檔案快取限制
以下是 屬性名稱 和 的限制RestoreKeys
條件:
-
名稱在工作流程中必須是唯一的。
-
名稱僅限於英數字元 (A-Z、a-z、0-9)、連字號 (-) 和底線 (_)。
-
名稱最多可有 180 個字元。
-
每個動作在 中最多可以有五個快取
FileCaching
。 -
每個快取在 中最多可以有五個項目
RestoreKeys
。
以下是路徑的限制:
-
不允許星號 (*)。
-
路徑最多可有 255 個字元。