GitHub Actions 快取
概要
$ docker buildx build --push -t <registry>/<image> \
--cache-to type=gha[,parameters...] \
--cache-from type=gha[,parameters...] .
下表說明您可以傳遞至 --cache-to
和 --cache-from
的可用 CSV 參數。
名稱 | 選項 | 類型 | 預設值 | 說明 |
---|---|---|---|---|
url | cache-to 、cache-from | 字串 | $ACTIONS_CACHE_URL | 快取伺服器 URL,請參閱 驗證。 |
權杖 | cache-to 、cache-from | 字串 | $ACTIONS_RUNTIME_TOKEN | 存取權杖,請參閱 驗證。 |
範圍 | cache-to 、cache-from | 字串 | buildkit | 快取物件所屬的範圍,請參閱 範圍 |
模式 | cache-to | min 、max | min | 要匯出的快取層,請參閱快取模式。 |
ignore-error(忽略錯誤) | cache-to | 布林值 | false(否) | 忽略快取匯出失敗所造成的錯誤。 |
timeout(逾時) | cache-to 、cache-from | 字串 | 10m(10 分鐘) | 匯入或匯出快取的最大持續時間,超過此時間即會逾時。 |
repository(儲存庫) | cache-to | 字串 | 用於快取儲存的 GitHub 儲存庫。 | |
ghtoken(GitHub 權杖) | cache-to | 字串 | 存取 GitHub API 所需的 GitHub 權杖。 |
驗證
如果未指定 url
或 token
參數,gha
快取後端將會改用環境變數。如果您從內嵌步驟手動呼叫 docker buildx
命令,則必須手動公開這些變數。可以考慮使用 crazy-max/ghaction-github-runtime
範圍
範圍是一個用於識別快取物件的鍵值。預設情況下,它設定為 buildkit
。如果您建置多個映像檔,每個建置都會覆蓋前一個建置的快取,只留下最後一個快取。
要保留多個建置的快取,您可以使用特定名稱指定此範圍屬性。在以下範例中,快取設定為映像檔名稱,以確保每個映像檔都有自己的快取。
$ docker buildx build --push -t <registry>/<image> \
--cache-to type=gha,url=...,token=...,scope=image \
--cache-from type=gha,url=...,token=...,scope=image .
$ docker buildx build --push -t <registry>/<image2> \
--cache-to type=gha,url=...,token=...,scope=image2 \
--cache-from type=gha,url=...,token=...,scope=image2 .