How to reuse data from persistent volumes to cache data/work between job runs?

I’d like to move some CI stuff to kubernetes - building and testing a webapp. Is there a way to cache the cloning of a git repo and downloading of the dependencies without needing to build a docker image with that stuff in it? I’m imaging that each commit kicks off a job in kubernetes, and I’m hoping for some sort of system where a job can reuse (with data intact) a persistent volume that a job before it used. Is that possible?