OpenShift CI/CD Concepts: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 34: Line 34:


{{External|https://github.com/openshift/jenkins-sync-plugin}}
{{External|https://github.com/openshift/jenkins-sync-plugin}}
This plugin keeps OpenShift [[OpenShift_Concepts#Pipeline_Build|build configuration]] and [[OpenShift_Concepts#Build|build]] objects in sync with [[Jenkins_Concepts#Job|jobs]] and [[Jenkins_Concepts#Build|builds]] managed by the integrated Jenkins.


==jenkins-openshift-login-plugin==
==jenkins-openshift-login-plugin==

Revision as of 18:08, 8 December 2017

External

Internal

Overview

This article aggregates concepts related to the implementation of CI/CD pipelines in OpenShift. OpenShift relies on Jenkins to execute the core pipeline logic - pipeline is a Jenkins concept. Thus, Jenkins instances are deployed and integrated with OpenShift. Details related to how to integrate Jenkins with OpenShift are discussed in the Jenkins Integration section. Jenkins pipelines are exposed natively in OpenShift as pipeline builds.

Jenkins Integration

https://github.com/openshift/jenkins

OpenShift Jenkins Plugins

Jenkins is ultimately the application that drives the pipeline logic so it first need to be told what to do, via its Groovy pipeline syntax, and then it needs to execute the actions, and while doing so, it needs to access and modify OpenShift resources. All these are implemented via a series of plugins, described below:

OpenShift Plugin for Jenkins (jenkins-plugin)

https://github.com/openshift/jenkins-plugin

This is the oldest Jenkins/OpenShift integration plugin, which executes inside Jenkins and implements a series of REST flows that interface with the OpenShift master server via its exposed API. This plugin does not require the oc binary to be present on the host that executes the plugin logic.

OpenShift Jenkins Pipeline DSL Plugin (jenkins-client-plugin)

https://github.com/openshift/jenkins-client-plugin

This plugin provides a Jenkins pipeline DSL syntax for interactions with OpenShit. This plugin needs the oc binary to be present on the nodes executing the script. The plugin seems to be newer than the OpenShift Plugin for Jenkins (jenkins-plugin).

jenkins-sync-plugin

https://github.com/openshift/jenkins-sync-plugin

This plugin keeps OpenShift build configuration and build objects in sync with jobs and builds managed by the integrated Jenkins.

jenkins-openshift-login-plugin

https://github.com/openshift/jenkins-openshift-login-plugin

Deplete

tmp