kubesphere安装Maven+JDK17 流水线打包

Source

kubesphere 3.4.0版本,默认支持的jav版本是8和11,不支持17 。需要我们自己定义JenKins Agent 。方法如下:

一、构建镜像

1、我们需要从Jenkins Agent的github仓库拉取master最新源码,最新源码里已经支持jdk17了。

git clone https://github.com/kubesphere/devops-agent

2、将maven目录拷贝到可以docker build的服务器上。并且cd到maven目录。

3、构建maven-jdk17,命令如下:

docker build --build-arg JDK_VERSION=17  -t builder-maven:v3.2.1-jdk17 .

4、将该镜像打tag,并且推送到指定的harbor仓库。

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

docker镜像到此完成,接下来需要配置kubesphere了。

二、配置kubesphere

5、平台管理-配置--配置字典,找到jenkins-casc-config,点击进去,这里字典里包含2个yaml文件,点击“更多操作---》编辑设置”---》打开编辑jenkins_user.yaml  。

6、编辑jenkins_user.yaml

在mavenjdk11后面加个同级节点。

          - name: "mavenjdk17"
            label: "mavenjdk17"
            inheritFrom: "maven"
            containers:
              - name: "maven"
                image: "192.168.0.100:5000/library/builder-maven:v3.2.1-jdk17"

 

7、我看了下jenkins.yaml 里也有类似的节点,我也加上了。(不确定是否有用,至少不会报错)

三、测试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'''
        }

      }
    }

  }
} 

 

参考文章:https://blog.csdn.net/qq_40674583/article/details/127839554

https://ask.kubesphere.io/forum/d/9047-kubesphere-devops-jdk17maven

自定义 Jenkins Agent