Cloudsmith Documentation Hub

Welcome to the Cloudsmith Documentation Hub. You'll find comprehensive guides and documentation to help you start working with Cloudsmith as quickly as possible, as well as support if you get stuck. Let's jump right in!

Get Started    

Drone CI

How to integrate Drone CI with Cloudsmith

Drone is a Continuous Integration platform that allows automation of build, test, and release workflows using a powerful, cloud-native pipeline engine.

API Key Configuration

You need to add your Cloudsmith API Key within Drone CI. We recommend storing your Cloudsmith API Key as a per-repository or per-organization secret in the Drone Server and then injecting the CLOUDSMITH_API_KEY environment variable into your build jobs like:

environment:
CLOUDSMITH_API_KEY:
    from_secret: CLOUDSMITH_API_KEY

Examples

Identifier

Description

OWNER

Your Cloudsmith account name or organisation name (namespace)

REPOSITORY

Your Cloudsmith Repository name (also called "slug")

FORMAT

The format of the package, i.e "deb", "maven", "npm" etc

PACKAGE_FILE

The filename of the package

Build Step Example

To push an artifact from a build step, you just need to add the commands to install the Cloudsmith CLI and use the cloudsmith push command:

steps:
  - pip install cloudsmith-cli 
  - cloudsmith push FORMAT OWNER/REPOSITORY/PACKAGE_FILE

Docker Pipeline Example

Drone supports different types of pipelines, each optimized for different use cases and runtime environments.

For example, you can use a Docker pipeline with your own Docker image that includes the Cloudsmith CLI, negating the need to install the CLI in a Build Step. The following example configuration specifies a Docker image from a Cloudsmith repository:

steps:
- name: Build and Push Package
  image: docker.cloudsmith.io/OWNER/REPOSITORY/IMAGE_NAME:latest
  environment:
    CLOUDSMITH_API_KEY:
      from_secret: CLOUDSMITH_API_KEY
  commands:
    - .......
    - .......
    - cloudsmith push FORMAT OWNER/REPOSITORY/PACKAGE_FILENAME
image_pull_secrets:
 - dockerconfigjson

As the Docker image used for the pipeline in this example is hosted in a private Cloudsmith repository, you need to authenticate to the repository to pull the image for use. You can add the authentication credentials as a per-repository or per-organization secret in Drone CI. You can obtain these credentials from your ~/.docker/.config.json file after you do a normal docker login to your Cloudsmith repository

You then use image_pull_secrets, with the name of the secrets file you created in Drone CI to enable your pipeline to authenticate to your Cloudsmith repository.

πŸ“˜

NOTE

The push command will vary with the package format, an example of the push command for a debian package would look like:
cloudsmith push deb my-org/my-repo/ubuntu/xenial foo-1.0.deb

Please see the Cloudsmith CLI for full details of the push command for other formats and additional help).

Updated a day ago


Drone CI


How to integrate Drone CI with Cloudsmith

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.


Cloudsmith: The new standard in Package Management and Software Distribution

With support for all major package formats, such as Docker. You can trust us to manage your package management for you.