OpenShift Plugin for Jenkins (jenkins-plugin): Difference between revisions
Line 43: | Line 43: | ||
{{External|https://github.com/openshift/jenkins-plugin#trigger-openshift-build}} | {{External|https://github.com/openshift/jenkins-plugin#trigger-openshift-build}} | ||
Trigger a build based on the specified build configuration. Equivalent with [[oc start-build]] | |||
<syntaxhighlight lang='groovy'> | <syntaxhighlight lang='groovy'> | ||
openshiftBuild bldCfg: 'name_of_the_BuildConfig_to_start' | openshiftBuild bldCfg: 'name_of_the_BuildConfig_to_start' | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==openshiftDeploy== | |||
{{External|https://github.com/openshift/jenkins-plugin#trigger-openshift-deployment}} |
Revision as of 03:07, 9 December 2017
External
- https://github.com/openshift/jenkins-plugin
- https://github.com/jenkinsci/openshift-pipeline-plugin (associated repository)
Internal
Overview
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. Other plugin that may be used starting with OpenShift 3.7 is OpenShift Jenkins Pipeline DSL Plugin (jenkins-client-plugin). The "OpenShift Plugin for Jenkins" is currently in maintenance mode.
Pipeline Examples
- jenkins-plugin DSL: https://github.com/NovaOrdis/playground/tree/master/openshift/jenkins-plugin/Jenkinsfile-jenkins-plugin-DSL.groovy
- Low-level maven and oc interaction: https://github.com/NovaOrdis/playground/tree/master/openshift/jenkins-plugin/Jenkinsfile-mvn-oc.groovy
- Maven slave node pipeline: https://github.com/openshift/origin/blob/master/examples/jenkins/pipeline/maven-pipeline.yaml
- Blue/Green deployment pipeline: https://github.com/openshift/origin/blob/master/examples/jenkins/pipeline/bluegreen-pipeline.yaml
Pipeline DSL
The pipeline can be scripted or can be specified in a declarative format. A scripted DSL element looks like this:
openshiftBuild(buildConfig: 'something')
A declared DSL element looks like this:
openshiftBuild bldCfg: 'something', verbose: 'true', ...
Optional configuration parameter that apply to all DSL steps are:
- 'apiURL' - the URL of the OpenShift API endpoint. If nothing is specified, the plugin will inspect KUBERNETES_SERVICE_HOST environment variable and if the variable is not set, the default is "https://openshift.default.svc.cluster.local" See Master API.
- 'namespace' - the name of the project the objects the DSL refers to are stored in. If nothing is specified, the plugin will inspect PROJECT_NAME environment variable.
- 'authToken'
- 'verbose' - for verbose logging.
openshiftBuild
Trigger a build based on the specified build configuration. Equivalent with oc start-build
openshiftBuild bldCfg: 'name_of_the_BuildConfig_to_start'