Customize Jenkins Agent
If you need to use a Jenkins agent that runs on a specific environment, for example, JDK 11, you can customize a Jenkins agent on KubeSphere.
This document describes how to customize a Jenkins agent on KubeSphere.
Prerequisites
- You have enabled the KubeSphere DevOps System.
Customize a Jenkins agent
-
Log in to the web console of KubeSphere as
admin
. -
Click Platform in the upper-left corner, select Cluster Management, and click Configmaps under Configuration on the left navigation pane.
-
On the Configmaps page, enter
jenkins-casc-config
in the search box and press Enter. -
Click
jenkins-casc-config
to go to its details page, click More, and select Edit YAML. -
In the displayed dialog box, enter the following code under the
data.jenkins_user.yaml:jenkins.clouds.kubernetes.templates
section and click OK.- name: "maven-jdk11" # The name of the customized Jenkins agent. label: "maven jdk11" # The label of the customized Jenkins agent. To specify multiple labels, use spaces to seperate them. inheritFrom: "maven" # The name of the existing pod template from which this customzied Jenkins agent inherits. containers: - name: "maven" # The container name specified in the existing pod template from which this customzied Jenkins agent inherits. image: "kubespheredev/builder-maven:v3.2.0jdk11" # This image is used for testing purposes only. You can use your own images.
Note
Make sure you follow the indentation in the YAML file. -
Wait for at least 70 seconds until your changes are automatically reloaded.
-
To use the custom Jenkins agent, refer to the following sample Jenkinsfile to specify the label and container name of the custom Jenkins agent accordingly when creating a pipeline.
pipeline { agent { node { label 'maven && jdk11' } } stages { stage('Print Maven and JDK version') { steps { container('maven') { sh ''' mvn -v java -version ''' } } } } }
Feedback
Was this page Helpful?
Receive the latest news, articles and updates from KubeSphere
Thanks for the feedback. If you have a specific question about how to use KubeSphere, ask it on Slack. Open an issue in the GitHub repo if you want to report a problem or suggest an improvement.