簡體   English   中英

跳過緩存生成,key 的緩存已經存在

[英]Skipping cache generation, cache already exists for key

使用CircleCI - version: 2.1 - 用於緩存已安裝依賴項的持續部署。 基於save_cache文檔:

在我們的 object 存儲中生成並存儲文件或文件目錄的緩存,例如依賴項或源代碼。 以后的作業可以恢復這個緩存。

當前場景:

請參閱下面.circleci/config.yml文件中的簡化緩存步驟:

steps:
  - node/with-cache:
      steps:
        - checkout
        - run: npm install
        - save_cache:
            key: dependencies
            paths: node_modules

一旦將新的 package 添加到項目中,問題就會出現,因此package.json文件正在更改。 同時, CircleCI顯示了保存緩存步驟的消息:

跳過緩存生成,緩存已經存在 key: dependencies
發現一個創建於 2020-05-23 19:29:29 +0000 UTC

那么一旦恢復緩存顯然沒有發現build步驟中新增的package:

./src/index.tsx
找不到模塊:“包名”。 確保已安裝此 package。

問題:

有什么方法可以檢查管道中的package.json變化? 理想情況下,我只會在這些情況下安裝依賴項,以便可以清除和更新緩存。

也許我在文檔中沒有看到任何內容。 任何幫助表示贊賞,謝謝!

問題是您使用的緩存鍵是“依賴項”,一個純字符串。 此鍵永遠不會更改,因此您將始終使用相同的緩存。

您需要使用更改的緩存鍵,最好基於package.lock 請閱讀 CircleCI 文檔中的緩存鍵部分以獲取更多信息:https://circleci.com/docs/2.0/caching/#using-keys-and-templates

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM