次のgitlabciyamlファイルがあります。
image: steveedson/ci
stages:
- build
cache:
untracked: true
key: "$CI_PROJECT_ID"
paths:
- node_modules/
- _site/vendor/
- .bundled/
- .yarn
build:
stage: build
script:
- ls -l
- yarn config set cache-folder .yarn
- yarn install
- ...
成功したビルドが完了すると、次のように表示されます。
Creating cache 1970478...
Created cache
そして、次のコミットがビルドをトリガーすると、次のようになります。
Checking cache for 1970478...
Successfully extracted cache
しかし ls -l
私の最初のステップでは、キャッシュされたディレクトリが表示されません。キャッシュキーをキャッシュしようとしましたが、これは役に立ちません。
これは、プライベートサーバーではなく、gitlab.comで実行されています。
したがって、私の構成は正しく、Gitlabはジョブ間のキャッシュをサポートしていますが、gitlab.comの共有ランナーにはまだこれを追加していません。
問題はここにあります https://gitlab.com/gitlab-com/infrastructure/issues/919 そしてすぐに追加されるはずです。
次のようなものを使用してローカルで構成を実行すると、キャッシュが機能しないようです。Sudo gitlab-runner exec docker tests --docker-image "image/image"
Gitlabインスタンスでこれをテストすると、キャッシュが機能していました。