Schedule a FREE onboarding and start making pipelines fast.

Announcing the Codefresh Jenkins plugin

Containers | August 2, 2016
We are excited to announce the first release of the Codefresh plugin for Jenkins, enabling the continuous delivery of containerized applications. Now organizations that have invested in Jenkins for CI, can easily leverage Codefresh’s container-native CI/CD to handle the entire container ecosystem.

Why integrate Jenkins and Codefresh?

Many development shops have made a big investment in Jenkins for their CI, but with the growing popularity of containers such as Docker, there is a need for a new kind of CI/CD platform, one that is container-native.

That said, not all of the software components in a typical build process are whole applications that can be packaged and delivered in a Docker container. Instead, they are  external components, such as libraries, modules, drivers, etc.  For these components we actually need to use a traditional CI server.

The result is a need to combine a traditional CI server, such as Jenkins, for non-containerized components, together with a container-native CI tool for the final application images.

In a previous post, we showed how to trigger the Codefresh Docker flow pipelines from Jenkins jobs using the Codefresh REST API. Now it’s plug & play!

How to get started

  1. Install the plugin from the official Jenkins plugin repository using the Jenkins ‘Manage Plugins’ interface (as described here). Search for ‘Codefresh’ in the list of available plugins.
  2. Define the connection to Codefresh in Jenkins system configuration (Manage Jenkins->Configure system-> scroll down to find ‘Define Codefresh Integration‘). This requires filling out your user name and Codefresh authentication token. You can verify the authentication by using the ‘Test Connection‘ button. To find your authentication token:
    • Log in to Codefresh and then open https://g.codefresh.io/api/ in another tab of the same browser
    • Copy your token from the right-hand text field on the Swagger header
  3. Trigger Codefresh pipeline execution from your freestyle Jenkins jobs:
    • ‘Add Build Step’ -> ‘Codefresh Integration’
    • ‘Launch Codefresh build’ is checked by default and will trigger the pipeline that corresponds to the Git repo defined in the job’s SCM configuration
    • If there’s no SCM defined for the current job, or you would like to trigger a different service pipeline, check the ‘Select Codefresh Service’ option. This will present you with a drop-down list of all your defined Codefresh services.

Once configured, the plugin will trigger Codefresh to run your Docker build+tests and report the results.

 The official Codefresh plugin Wiki page can be found here: https://wiki.jenkins-ci.org/display/JENKINS/Codefresh+Plugin

Upcoming features

This is the first release and we plan on adding additional functionality. The following are some features to look forward to in the upcoming releases:
  • Add the option to launch a service/composition
  • Return environment URL and make available as Jenkins environment variable (for subsequent testing)
  • Display environment status (running/stopped) and link on Jenkins UI

We hope this plugin will make it even easier to integrate Codefresh into your existing continuous delivery pipeline. Please send us your feedback and suggestions regarding the Codefresh + Jenkins integration. We’d love to help with anything that can streamline your day-to-day development and testing flows.

Oleg Verhovsky

About Oleg Verhovsky

Reader Interactions

Enjoy this article? Don't forget to share.

Comments

Your email address will not be published. Required fields are marked *

Follow me on Twitter