2016-09-26 3 views
1

私は2つのステージを持つ単純なGitlabパイプラインのセットアップがあります&テストを構築します。どちらのステージもキャッシュされたファイルを共有すると思われますが、現れないため、テストステージが失敗します。できるだけ早く、問題は各ステージが異なるランナーを使用し、キャッシュされたファイルがパスの一部としてランナーIDを使用することです。Gitlabパイプラインのキャッシュが原因別のランナーに共有されていない

.gitlab-ci.ym

... 
cache: 
    key: "build" 
    untracked: true 
... 

ビルドステージは、次の

Creating cache build... 
untracked: found 787 files       
Uploading cache.zip to https://runners-cache-1.gitlab.com:443/runner/runner/30dcea4b/project/1704442/build 

テスト段階が、私は、これはキャッシュだったことと信じて、次の

Checking cache for build... 
$ mvn test 

を出力を出力しますダウンロード情報がないため見つかりませんでした。それは明らかではありません。

私はまた、各ステージは異なるランナーを使用し、ランナーのIDがキャッシュパスの一部であることから、私はそれが問題である疑いがあることがわかります。

私は、各ステージのために同じランナーを使用するか、ランナー間でキャッシュを共有するいずれかが必要です。私はどちらかを行う方法を理解していません。

ご協力いただければ幸いです。

+0

私は時々私のビルドでは、両方の段階で同じランナーを使用していますし、それは、ランナーが異なっているときには、キャッシュが動作しない動作しますが、この動作を確認することができました。 –

答えて

1

それはcache機能が適切に命名され、それが唯一のパフォーマンスを構築改善するためだとずっと本物のキャッシュのように、データを持つことが保証されていません表示されます。

正しいアプローチはdependenciesartifactsを使用することです。

関連する問題