You're on your way to the next level! Join the Kudos program to earn points and save your progress.
Level 1: Seed
25 / 150 points
1 badge earned
Challenges come and go, but your rewards stay with you. Do more to earn more!
What goes around comes around! Share the love by gifting kudos to your peers.
Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!
Join now to unlock these features and more
Recently, we started noticing changes not being present in our Docker images pushed to Docker Hub from a BitBucket pipeline. After clearing the pipeline cache, the new changes were picked up and properly pushed. I promptly disabled the cache.
If I can't rely on the cache being updated correctly and our production deployments thus using stale code, the cache is actively harmful and I'm not going to enable it again! What is happening here?
Hi @Moritz Friedrich and welcome to the community.
I'm afraid that, at the moment, the cache in pipelines doesn't get updated when the dependencies are updated.
A cache gets saved on a successful build (if the cache is empty), it gets stored for a week (unless manually cleared), and after it gets cleared a new cache is created on the next successful build. The feature to have it automatically updated while it is saved is not available yet.
We have a feature request for this in our issue tracker:
I would suggest that you add your vote there (by selecting the Vote for this issue link) as the number of votes helps the development team and product managers better understand the demand for new features. You are more than welcome to leave any feedback, and you can also add yourself as a watcher (by selecting the Start watching this issue link) if you'd like to get notified via email on updates.
Implementation of new features is done as per our policy here and any updates will be posted in the feature request.
Please feel free to let me know if you have any questions.
@Theodora BoudaleTo confirm,
Hi, @Moritz Friedrich!
You are right in your assessment here. The caches are not cleared if a build fails, that is true. You can find how a cache is saved, restored, and cleared here:
Also, you are right about the scenarios in which there is no cache as well. You can leverage the pipe you shared to clear the cache, as you mentioned, and it will only be cleared at the end of the pipe run.
I hope this helps, but please let me know if you have any questions.