• kubesphere安装Maven+JDK17 流水线打包


    kubesphere Maven + JDK17 安装

    需求

    目前项目使用的是jdk17,想使用kubesphere devops

    查看官方文档

    查看官网文档后,发现需要自定义Jenkins Agent

    在这里插入图片描述

    坑点:

    找到jenkins-casc-config 配置后,改动用户文件才有效

    在这里插入图片描述

    加完之后可以运行官方的流水线测试一下,我的是3.3版本,默认就有jdk11

     pipeline{
      agent {
        node {
          label 'maven && jdk11'
        }
      }
      stages {
        stage('Print Maven and JDK version') {
          steps {
            container('maven') {
              sh '''
              mvn -v
              java -version
              '''
            }
          }
        }
      }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    需要注意的是这里使用的label 'maven && jdk11'去寻找容器打包的,这个应该是通过jdk11找到这个镜像的

    安装maven+jdk17环境

    参照官方文档,找到对应位置后加入如下配置(自己选择加入就行了,这里有4个)

              - name: "mavenjdk11"
                label: "jdk11 maven java"
                inheritFrom: "maven"
                containers:
                  - name: "maven"
                    image: "registry.cn-beijing.aliyuncs.com/kubesphereio/builder-maven:v3.2.1-jdk11"
    
              - name: "mymavenjdk11"
                label: "mavenjdk11"
                inheritFrom: "maven"
                containers:
                  - name: "maven"
                    image: "registry.cn-beijing.aliyuncs.com/kubesphereio/builder-maven:v3.2.1-jdk11"
    
              - name: "mavenjdk17"
                label: "jdk17 maven java"
                inheritFrom: "maven"
                containers:
                  - name: "maven"
                    image: "lyaprotect/maven3.6.3-openjdk-17-graphviz:master-latest"
    
              - name: "mymavenjdk17"
                label: "mavenjdk17"
                inheritFrom: "maven"
                containers:
                  - name: "maven"
                    image: "lyaprotect/maven3.6.3-openjdk-17-graphviz:master-latest"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    lyaprotect/maven3.6.3-openjdk-17-graphviz:master-latest这个镜像是我在dockerhub随便找的一个。

    加完等该1-2分钟就行了,可以看到如下效果

    在这里插入图片描述

    后面maven打包时发现无法使用自己的maven仓库,镜像文件发现是没有去加载默认的settings文件,通过在dockerhub 查看镜像lyaprotect/maven3.6.3-openjdk-17-graphviz:master-latest的打包过程,找到配置文件地址,替换就行了

              - name: "mavenjdk11"
                label: "jdk11 maven java"
                inheritFrom: "maven"
                containers:
                  - name: "maven"
                    image: "registry.cn-beijing.aliyuncs.com/kubesphereio/builder-maven:v3.2.1-jdk11"
    
              - name: "mymavenjdk11"
                label: "mavenjdk11"
                inheritFrom: "maven"
                containers:
                  - name: "maven"
                    image: "registry.cn-beijing.aliyuncs.com/kubesphereio/builder-maven:v3.2.1-jdk11"
    
              - name: "mavenjdk17"
                label: "jdk17 maven java"
                inheritFrom: "maven"
                containers:
                  - name: "maven"
                    image: "lyaprotect/maven3.6.3-openjdk-17-graphviz:master-latest"
                yaml: |
                  spec:
                    containers:
                      - name: "maven"
                        volumeMounts:
                          - name: config-volume
                            mountPath: /usr/share/maven/conf/settings.xml
                            subPath: settings.xml
                    volumes:
                      - name: config-volume
                        configMap:
                          name: ks-devops-agent
                          items:
                            - key: MavenSetting
                              path: settings.xml
    
              - name: "mymavenjdk17"
                label: "mavenjdk17"
                inheritFrom: "maven"
                containers:
                  - name: "maven"
                    image: "lyaprotect/maven3.6.3-openjdk-17-graphviz:master-latest"
                yaml: |
                  spec:
                    containers:
                      - name: "maven"
                        volumeMounts:
                          - name: config-volume
                            mountPath: /usr/share/maven/conf/settings.xml
                            subPath: settings.xml
                    volumes:
                      - name: config-volume
                        configMap:
                          name: ks-devops-agent
                          items:
                            - key: MavenSetting
                              path: settings.xml
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57

    只需要jdk17+maven打包用这个就行了

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZAue0U4c-1668352879704)(在这里插入图片描述
    )]

              - name: "mymavenjdk17"
                label: "mavenjdk17"
                inheritFrom: "maven"
                containers:
                  - name: "maven"
                    image: "lyaprotect/maven3.6.3-openjdk-17-graphviz:master-latest"
                yaml: |
                  spec:
                    containers:
                      - name: "maven"
                        volumeMounts:
                          - name: config-volume
                            mountPath: /usr/share/maven/conf/settings.xml
                            subPath: settings.xml
                    volumes:
                      - name: config-volume
                        configMap:
                          name: ks-devops-agent
                          items:
                            - key: MavenSetting
                              path: settings.xml
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    测试流水线

    可以使用以下流水线测试版本信息等

    pipeline {
      agent {
        node {
          label 'mavenjdk17'
        }
    
      }
      stages {
        stage('Print Maven and JDK version') {
          agent none
          steps {
            container('maven') {
              sh '''    java -version
        mvn -v
          
              cd /opt
              ls -a
              
    
    cd /usr/share/maven
    ls -a
    cd conf
    ls -a
    
    
    pwd
    
    
    cat settings.xml'''
            }
    
          }
        }
    
      }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
  • 相关阅读:
    Prometheus、node_exporter、Grafana端口修改(端口占用)
    数据结构:邻接矩阵与邻接表
    DPDK系列之三十内存中的环形队列
    玩转AI绘图,远程部署运行
    xxxxx
    智能生活 App 垂直品类- IPC SDK 架构及快速集成配置(安卓版)
    vue-quill-editor 富文本编辑器上传视频
    简单理解旁路电容和去耦电容
    R语言在vector向量数据的指定位置添加元素、被跳过的位置自动赋值为缺失值NA
    Lumiprobe Lumizol RNA 提取试剂解决方案
  • 原文地址:https://blog.csdn.net/qq_40674583/article/details/127839554