Publish packages to Cloudsmith directly from your CircleCI pipeline
Cloudsmith provides first-class support for CircleCI through its official orb, giving your pipelines a secure, fully managed artifact repository without manual tooling or fragile scripts. Connect your CircleCI workflows to Cloudsmith in minutes and get complete control over every package you publish.
How we support CircleCI
Why teams integrate Cloudsmith with CircleCI
Frequently asked questions
Add `version: 2.1` to the top of your .circleci/config.yml file, then declare the orb with `cloudsmith: cloudsmith/cloudsmith@
`. From there you can use the orb's commands directly in your job steps to install the CLI, validate your API key, and publish packages. You store your Cloudsmith API key as a CircleCI environment variable named CLOUDSMITH_API_KEY in your project settings. The orb's `cloudsmith/ensure-api-key` command checks for this variable at runtime so credentials are never hardcoded or exposed in build logs.
The Cloudsmith orb supports all formats Cloudsmith handles, including Python, Debian, RPM, npm, Maven, Docker, Helm, NuGet, Ruby Gems, and 20+ more. You specify the format with the `package-format` parameter in the `cloudsmith/publish` step.
For custom requirements, you can mix orb commands with direct Cloudsmith CLI calls. Use the orb to handle installation and authentication, then invoke the CLI directly for any advanced operations like querying repositories or pushing packages with non-standard options.
Yes. Unlike CircleCI's native artifact storage which has a 30-day maximum retention, packages stored in Cloudsmith are retained for as long as you need them. Retention and deletion policies can be configured per repository in Cloudsmith.
Yes. Cloudsmith automatically scans packages for vulnerabilities on upload. You can configure OPA Rego policies to quarantine or block distribution of packages that fail your security criteria, giving you an automated gate inside your CircleCI pipeline.
Yes. You can include multiple `cloudsmith/publish` steps in a single job, each targeting a different repository. This is useful for workflows that publish to a staging repository on every merge and a production repository on tagged releases.
Cloudsmith logs full client and audit metadata for every upload, including timestamps and authentication context. This gives you a traceable record linking each package version back to the pipeline that produced it.
Yes, you need to be using CircleCI version 2.1 or later. This is declared at the top of your config.yml file with `version: 2.1`. All modern CircleCI accounts support this by default.
The latest release is always available on the CircleCI Developer Hub under cloudsmith/cloudsmith. The reference documentation there is generated directly from the orb itself and reflects the most current commands, parameters, and examples.