Binary Management with Artifactory
Automate binary uploads, downloads, and build-info tracking in JFrog Artifactory with JFrog CLI.
JFrog CLI is a lightweight, intelligent client that streamlines automation across JFrog products. By simplifying automation scripts, it improves both readability and maintainability. When integrated with JFrog Artifactory, JFrog CLI enhances script efficiency and reliability through several key capabilities.
Before You Begin
To use the features described on this page:
- Install JFrog CLI — see Install JFrog CLI.
- Configure a server — run
jf config addto connect JFrog CLI to your Artifactory instance. See Artifactory Authentication for all available authentication methods.
Structured Command Output
JFrog CLI 2.105.0 and later support --format json and --format table on many jf rt commands for script-friendly output. See jf rt output format for supported commands, defaults, and examples.
Advanced Upload and Download Capabilities
Concurrent Operations
JFrog CLI accelerates automated builds by enabling concurrent artifact uploads and downloads using a configurable number of threads (controlled by the --threads flag). For large artifacts, you can specify the number of chunks to enable parallel downloads (controlled by the --split-count flag).
When you transfer many files of different sizes, combine --threads (parallelism across files) with multi-part options (--min-split, --split-count) so large files are still split while smaller files transfer in parallel. For recommended settings and examples, see Best Practices for Uploading and Downloading Many Files.
Resume capability: Chunked (multi-part) transfers allow interrupted downloads to restart from where they left off — only the missing chunks are re-fetched, identified by checksum. This means you can pause lengthy operations and resume them later without restarting from scratch.
Checksum-Based Optimization
The CLI optimizes both upload and download operations by skipping artifacts that already exist at their target location:
-
Upload optimization: Before uploading, JFrog CLI queries Artifactory using the artifact's checksum. If the artifact already exists in Artifactory's storage, the CLI skips transmission and Artifactory updates only its database as needed.
-
Download optimization: Downloads automatically skip artifacts whose checksum matches a file already present at the target path — if the local file has changed, it is re-downloaded.
Flexible Pattern Matching
JFrog CLI provides flexible file collection options for streamlined artifact management:
| Operation | Supported Patterns |
|---|---|
| Upload | Wildcard patterns, Regular expressions, ANT patterns |
| Download | Wildcard patterns |
Package Manager and Build Tool Integration
JFrog CLI provides native integration with popular package managers and build tools, simplifying package management and publishing workflows across your development ecosystem.
Supported technologies include:
| Technology | Command |
|---|---|
| npm | jf npm |
| Yarn | jf yarn |
| Maven | jf mvn |
| Gradle | jf gradle |
| Docker | jf docker |
| Podman | jf rt podman-push and jf rt podman-pull |
| Go | jf go |
| Python pip | jf pip |
| Python pipenv | jf pipenv |
| Python poetry | jf poetry |
| Python twine | jf twine |
| NuGet | jf nuget |
| .NET | jf dotnet |
| Ruby gems | jf ruby-config (configuration only, using native bundle install and gem commands for package operations) |
| Conan | jf conan |
| Terraform | jf terraform |
| Helm | jf helm |
For native mode setup shared across all build tools, see Setting Up a Build Tool with Artifactory.
Note
For the current release, JFrog CLI supports Ruby projects through jf ruby-config, which saves your Artifactory server and repository preferences locally. Package installation and publishing continue to use the native
bundle installandgemcommands directly. Broader Ruby gem command integration is planned for a future release.
Build-Info Support
Build-Info Overview
Build-Info is a comprehensive metadata Software Bill of Materials (SBOM) that captures detailed information about build components. It serves as a vital source of information for traceability and security.
Key Benefits
Storing Build-Info metadata in Artifactory enables:
- Traceability - Track components across your software supply chain
- Analysis - Gain insights into build composition and dependencies
- Security - Identify vulnerabilities and ensure compliance
- Quality assurance - Monitor and improve build quality over time
Captured Metadata
Build-Info captures critical build data in JSON format for access and integration:
- Project module details
- Artifacts and binaries
- Dependencies and transitive dependencies
- Environment variables
- Version history
- Build timestamps and identifiers
For more information, see Build Integration.
Note
JFrog CLI is designed to work across the entire JFrog Platform, providing a unified automation interface for DevOps workflows.
Frequently Asked Questions
This section provides answers to frequently asked questions.
FAQs
Q: How does JFrog CLI speed up uploads and downloads of many files?
A: JFrog CLI runs concurrent uploads and downloads across a configurable number of threads, and can split large artifacts into chunks for parallel transfer. See Concurrent Operations.
Q: What happens if I upload a file that already exists in Artifactory?
A: JFrog CLI checks the artifact's checksum before uploading. If a match already exists in storage, the CLI skips the transfer and only updates the database as needed. See Checksum-Based Optimization.
Q: What is the difference between build-info and a regular artifact upload?
A: An artifact upload transfers a single binary. Build-info is a separate metadata SBOM that records modules, dependencies, environment variables, and timestamps for an entire build. See Build-Info Overview.
Q: What do I need before using JFrog CLI with Artifactory?
A: Install JFrog CLI and run jf config add to connect it to your Artifactory instance. See Before You Begin.
Q: Can JFrog CLI output results in JSON for scripting?
A: Yes. JFrog CLI 2.105.0 and later support --format json and --format table on many jf rt commands. See Structured Command Output.
Related Topics
Updated 19 days ago
What’s Next
To get started, set up authentication with your Artifactory instance.
