Overview
JFrog Artifactory is a repository manager that is designed to store a wide range of artifacts needed for deployment and distribution during the Software Development Lifecycle. Users can deploy Artifactory on-prem (self-hostd), in the cloud (SaaS) or in a hybrid model. The three repository types that can be hosted in Artifactory are:
- Local: physical, locally-managed repositories into which you can deploy artifacts
- Remote: serves as a caching proxy for a repository managed at a remote URL (which may itself be another Artifactory remote repository)
- Virtual: aggregates several repositories with the same package type under a common URL
Artifactory also stores a complete map of all the components that went into creating the artifact. This information feeds other products such as JFrog Xray.
Kubernetes
Kubernetes applications are built from many types of artifacts sourced from multiple locations. JFrog’s centralized approach to artifact storage addresses challenges of combining variously sourced components for kubernetes containerized applications. Artifactory can also serve as a Kubernetes Registry allowing the traceability of dependencies across Docker images.
JFrog Artifactory vs. GitLab Package Registry Comparison
JFrog’s approach to managing and storing artifacts is to use one universal repository manager for housing all packet formats in a central location. GitLab’s goal is for you to rely on GitLab as a universal package manager, so that you can reduce costs and drive operational efficiencies.
- Remote and Virtual Repositories: A critical gap between Artifactory and GitLab’s Package offering is the ability to easily connect to and group external, remote registries. We plan on bridging this gap by expanding the Dependency Proxy to support remote and virtual registries.
- Supported Packages: The table below lists JFrog vs GitLab’s supported package manager formats. Artifactory support a longer list of formats, but we have not heard many requests from our customers for some of these formats. If you’d like to suggest we consider a new format, please open an issue here. To date, GitLab has been focused on delivering Project and Group-level private package registries for the most commonly used formats.
In addition, GitLab strengths are in providing a single product for the full DevOps Lifecycle. GitLab CI-CD and Security Capabilities have better functionality and provide enterprise grade capabilities.
For more details on how GitLab is evolving our Package Managment solution please see our Category Direction - Package Registry Page.
JFrog vs. GitLab Feature Comparison
GitLab | JFrog | |
---|---|---|
Dependency Management A version-controlled common library can be shared by all development teams |
✅ | ✅ |
Efficient Builds Easy to access artifacts that are cached locally once downloaded |
✅ | ✅ |
Release Stability Artifacts and metadata stay stable after being published to a release repository |
✅ | ✅ |
Artifact Traceability Versions are tracked |
✅ | ✅ |
Package Format Wide support for package formats such as package formats such as Maven, Debian, NPM, Helm, Ruby, Python, and Docker |
🟨 Partial |
✅ |
Repository Variety Supports local, remote and virtual repositories |
🟨 Local Only |
✅ |
JFrog vs. GitLab Supported Packages Comparison
JFrog | GitLab | |
---|---|---|
Alpine | ✅ | ❌ |
Bower | ✅ | ❌ |
Chef | ✅ | ❌ |
CocoaPods | ✅ | ❌ |
Conan | ✅ | ✅ |
Conda | ✅ | ❌ |
CRAN | ✅ | ❌ |
Debian | ✅ | ❌ |
Docker | ✅ | ✅ |
Git LFS | ✅ | ❌ |
Go Registry | ✅ | ✅ |
Helm | ✅ | ❌ |
Maven | ✅ | ✅ |
NPM | ✅ | ✅ |
NuGet | ✅ | ✅ |
Opkg | ✅ | ❌ |
P2 | ✅ | ❌ |
PHP Composer | ✅ | ✅ |
Puppet | ✅ | ❌ |
PyPI | ✅ | ✅ |
RPM | ✅ | ❌ |
RubyGems | ✅ | ❌ |
SBT | ✅ | ❌ |
Vagrant | ✅ | ❌ |
VCS | ✅ | ❌ |
Artifactory Gaps
JFrog Artifactory is an industry leader in artifact managent and does not have major gaps. User feedback indicates Artifactory is difficult to set up and manage.