Integrations

Integrating Jenkins

How to integrate Jenkins with Cloudsmith

Contextual Documentation

These instructions are generic examples. Cloudsmith provides contextual setup details for Jenkins, with copy and paste snippets (with your namespace/repo pre-configured) in the documentation within a repository.

API Key Configuration

If you haven't already done so you'll need to expose your Cloudsmith API Key within Jenkins. We recommend using the credentials plugin then injecting the CLOUDSMITH_API_KEY environment variable into your build jobs.

Examples

In the following examples:

IdentifierDescription
OWNERYour Cloudsmith organisation name (namespace)
REPOSITORYYour Cloudsmith Repository identifier (also called "slug")
FORMATThe format of the package, i.e "deb", "maven", "npm" etc
PACKAGE_FILEThe filename of the package

Build Steps Example

Add the following as a build step to perform the push to Cloudsmith:

bash
# Jenkins Build Steps using CLI
pip install cloudsmith-cli
cloudsmith push FORMAT OWNER/REPOSITORY PACKAGE_FILE

Pipelines Example

Add the following as a build stage to perform the push to Cloudsmith:

groovy
stage "Deploy"
sh('pip install cloudsmith-cli')
sh('cloudsmith push FORMAT OWNER/REPOSITORY PACKAGE_FILE')

Note

The push command will vary with the package format, an example of the push command for a debian package would look like:

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