En la versión kubesphere 3.4.0, las versiones jav admitidas de forma predeterminada son 8 y 11, pero la 17 no es compatible. Necesitamos definir JenKins Agent nosotros mismos. Métodos como se muestra a continuación:
1. Construye una imagen
1. Necesitamos extraer el último código fuente de master del repositorio github del Agente Jenkins. El último código fuente ya es compatible con jdk17.
git clone https://github.com/kubesphere/devops-agent
2. Copie el directorio maven a un servidor que pueda compilar con Docker. Y cd al directorio maven.
3. Compile maven-jdk17, el comando es el siguiente:
docker build --build-arg JDK_VERSION=17 -t builder-maven:v3.2.1-jdk17 .
4. Etiquete la imagen y envíela al almacén portuario designado.
docker tag builder-maven:v3.2.1-jdk17 192.168.0.100:5000/library/builder-maven:v3.2.1-jdk17
#推送到仓库
docker push 192.168.0.100:5000/library/builder-maven:v3.2.1-jdk17
La imagen de la ventana acoplable ya está completa. A continuación, debe configurar kubesphere.
2. Configurar kubesphere
5. Administración de plataforma-Configuración-Diccionario de configuración, busque jenkins-casc-config, haga clic en él, el diccionario contiene 2 archivos yaml, haga clic en "Más operaciones---"Editar configuración"---"Abrir y editar jenkins_user.yaml.
6. Edite jenkins_user.yaml
Agregue un nodo par después de mavenjdk11.
- name: "mavenjdk17"
label: "mavenjdk17"
inheritFrom: "maven"
containers:
- name: "maven"
image: "192.168.0.100:5000/library/builder-maven:v3.2.1-jdk17"
7. Verifiqué que hay nodos similares en jenkins.yaml y también los agregué. (No estoy seguro si es útil, al menos no informará un error)
3. Pruebe DevOps
pipeline {
agent {
node {
label 'mavenjdk17'
}
}
stages {
stage('Print Maven and JDK version') {
agent none
steps {
container('maven') {
sh 'docker version'
sh ''' java -version
mvn -v
cd /opt
ls -a
cd /opt/apache-maven-3.5.3/
ls -a
cd conf
ls -a
pwd
cat settings.xml'''
}
}
}
}
}
Artículo de referencia: https://blog.csdn.net/qq_40674583/article/details/127839554
https://ask.kubesphere.io/forum/d/9047-kubesphere-devops-jdk17maven