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. Use it with JFrog Artifactory to manage binaries, run build tools, and automate repository workflows from your terminal or CI. Start with setup, then pick the task you need.

📘

Note

You need access to the JFrog Platform. Use a JFrog SaaS account or a self-managed Artifactory installation. Complete the setup steps once, then use the Artifactory topics on this page.

Before You Begin

Do these once. Then use the Artifactory CLI topics for your commands.

📘

Note

For Artifactory-specific authentication methods such as RSA, mTLS, and custom CA certificates, see Artifactory Authentication.


What Do You Want to Do?

Choose a task. Each tile opens the Artifactory CLI guide for that job.

Common Scenarios

Looking for something more specific? Start here.

If you need to…Do thisGo to
Parse jf rt output in scriptsUse --format json or --format tablejf rt Output Format
Keep native package commandsDrop the jf prefix with Package AliasPackage Alias
Point a build tool at ArtifactoryRun the shared native mode setupConnect a Build Tool to Artifactory
Confirm the CLI can reach ArtifactoryPing the instance before running commandsVerify Artifactory Accessibility
Confirm tool versions are supportedCheck the package manager matrixPackage Manager Compatibility

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:

OperationSupported Patterns
UploadWildcard patterns, Regular expressions, ANT patterns
DownloadWildcard 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:

TechnologyCommand
npmjf npm
pnpmjf pnpm
Yarnjf yarn
Mavenjf mvn
Gradlejf gradle
Dockerjf docker
Podmanjf rt podman-push and jf rt podman-pull
Gojf go
Debian/Ubuntujf apt and jf setup apt
Python pipjf pip
Python pipenvjf pipenv
Python poetryjf poetry
Python twinejf twine
Python uvjf uv
NuGetjf nuget
.NETjf dotnet
Ruby gemsjf setup ruby, jf ruby gem, and jf ruby bundle
Cargojf cargo
Conanjf conan
Terraformjf terraform
Helmjf helm

For native mode setup used by supported build tools, see Setting Up a Build Tool with Artifactory.

📘

Note

JFrog CLI 2.121.0 and later can run native RubyGems and Bundler operations through jf ruby, provide Artifactory authentication, and collect build-info for supported operations. Use jf setup ruby for persistent native configuration. The existing jf ruby-config project configuration remains available, but jf ruby does not read its ruby.yaml file.


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.


Related Topics

Continue in this order when you need the wider CLI docs:

  1. JFrog CLI Quick Start. Install, authenticate, and run a first command end to end.
  2. JFrog CLI. Use the platform CLI hub for Security, Governance, and more.
  3. JFrog CLI Command Reference. Look up commands and flags by product area.

Frequently Asked Questions

This section provides answers to frequently asked questions.

plusFAQs
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: What Is the Difference Between Platform Authentication and Artifactory Authentication?

A: Platform authentication covers tokens, jf login, OIDC, and similar methods, and is documented in Integrations. Artifactory Authentication covers RSA, mTLS, and custom CA for Artifactory.

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: 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.



What’s Next

To get started, set up authentication with your Artifactory instance.

Did this page help you?