
What I value most about JFrog Artifactory is having one place to manage all our packages. Our team works on a React Native app, so we deal with npm packages, CocoaPods, and Gradle dependencies, and Artifactory lets us proxy and cache all of them through a single platform instead of juggling separate registries.
The remote repository caching has made a real difference in our day-to-day work. Before, our CI builds would occasionally fail when a public registry was slow or a package was temporarily unavailable. Now dependencies are served from our Artifactory cache, so builds are faster and much more reliable. It also protects us if a package gets removed from the public registry, since we still have the cached version.
We also use it to host our internal libraries privately. Publishing a shared component to our own npm repository and installing it like any other package is simple, and the access controls let us decide exactly who can read or publish to each repository.
An unexpected benefit has been visibility. Being able to search for an artifact, see its versions, and check where it came from has saved us time when debugging dependency issues, because we can quickly confirm which version a build actually used. With JFrog Xray, we also get alerts about known vulnerabilities in our dependencies, which helps us catch security problems before they reach production Review collected by and hosted on G2.com.
The biggest challenge with JFrog Artifactory is the learning curve. The interface has a lot of options, and for new team members it isn’t always obvious where to find settings or how repositories, permissions, and virtual repositories fit together. Setting up our first remote and virtual repositories for npm and CocoaPods took longer than expected because we had to piece together the correct configuration from several documentation pages. A guided setup wizard for common stacks, such as React Native with npm, CocoaPods, and Gradle together, would make onboarding much faster.
The documentation could also be more consistent. Some pages refer to older versions of the UI, so the screenshots and menu names don’t always match what we see. This sometimes sends us to community forums or support to confirm a simple configuration detail. Keeping the docs aligned with the current interface and adding more end-to-end examples would help a lot.
Storage management needs more attention than we’d like. Cached artifacts and old build versions accumulate quickly, and setting up cleanup and retention policies isn’t very intuitive. Clearer built-in retention rules, along with a simple dashboard showing which repositories use the most space, would make it easier to keep storage under control and costs predictable.
Finally, pricing can be hard to evaluate for smaller teams, since some useful features like advanced security scanning are tied to higher tiers. More flexible options for small teams would make it easier to adopt the full platform. Review collected by and hosted on G2.com.