Maven Javaプロジェクトを構築するgitlabランナーでキャッシュを使用しようとしています。現在、Gitlabランナーは、cache:
節のgitlab yamlファイルで定義された特定のパスのキャッシュのみを許可します。 mavenがプロジェクトをビルドすると、target/
フォルダ内のすべてのものが生成されます。これらはgitでuntrackedファイルです。だから、untracked: true
オプションを使って、target/
フォルダのすべてをキャッシュすることができます。キャッシングの目的は、既にmavenによってtarget/
フォルダの下にコンパイルされたファイルのコンパイルをスキップすることです。Gitlab CIの特定のファイルタイプをキャッシュする
しかし、このキャッシュの容量は約6GBです。このような巨大なキャッシュを作成して復元するのに必要なサイズと時間はまったく無理です。これは、マルチモジュールプロジェクトのコンパイル中に構築されたすべてのjarファイルとwarアーティファクトをキャッシュします。しかし、mavenは再コンパイルのための変更を確認するために.classファイルのみを必要とします
*.class
ファイルをキャッシュできる何らかの方法を使用していて、その後のビルドでそれらを利用できるようにするならば、mavenは.classファイル変更されていないファイルやキャッシュサイズを再コンパイルするのをスキップしてもかなり小さくなります。現在のところ、gitlab-runnerはキャッシュの絶対パスを指定することしかできません。 \.class$
などのパスの正規表現パターンはサポートされていません(非常に便利でした)。
gitlab runner yaml設定を使用して特定のファイルタイプのみをキャッシュする方法はありますか?
愚かなアイデアかもしれませんが...キャッシュしたいファイル以外のすべてを取り除くために、仕事の終わりにそのフォルダのクリーンアップを行うことはできませんか? – tmt