I'm working on my Conj talk about Clojars, and am curious about how many organizations use a caching proxy in front of Clojars. So I'm doing a non-scientific poll: does your organization use a caching proxy (like Nexus, Artifactory, etc) when resolving dependencies from Clojars? If so, please react with ☑️. If not, react with ❎. If you have no idea, react with 🤷. If you are using a caching proxy, I'd love to know what you are using if you are willing to share, either in a thread on this message or in a DM. Thanks!
Caching proxy is used in case Clojars is down or unreachable or browning out, we still need the ability to deploy. And it's used for reproducible build, make sure each build and each instance builds with the same exact artifacts. Lastly it hosts our own internal artifacts.
We use Sonatype Nexus OSS to front Maven Central and Clojars. Primarily it's to handle any "outages" that may happen on these sites (rarely), but also because we create some internal libraries that we need to push to somewhere, so we have our own repo on Nexus OSS, which is part of a group that is used for resolution of dependencies. That's about it.
maven central is very aggressively rate limiting github actions for example, so using a local cache or a mirror is absolutely necessary
We use github packages
Thanks all!
@agilecreativity does GitHub packages have a feature to proxy other repositories, or are you saying you use it for internal library releases?
I think we use it directly like from this url: https://docs.github.com/en/packages/learn-github-packages/introduction-to-github-packages
And usually wired it to GH Action like this: https://docs.github.com/en/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions
We used to use Nexus but we got rid of it because it was pain in the ass to maintain.
Right now we don't have any special proxy and it's showed up every now and then as a CI failure.
So we added google-maven-central-mirror :
:mvn/repos {"google-maven-central-mirror" {:url " "}}
Prior to Nexus, we did use AWS S3 buckets but that was a right pain in the ass.
google's mirror does resolve the rate limiting issue with central but man is it slow