引言:使用Kubesphere的DevOps部署流水线时因为自带的工具镜像builder-maven是java8版本, 所以需要自己构建jdk17的镜像并上传到私有云以便打包java17的项目。
如果想通过Kubesphere的DevOps热插拔做CI/CD的自动部署请移步我的另一篇文章Kubesphere-DevOPS搭建-CSDN博客

一、构建镜像

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

2、将maven目录拷贝到可以docker build的服务器上。并且cd到maven/podman目录,同是将set_java文件cp到podman目录下(构建时会用到)

git clone https://github.com/kubesphere/devops-agent.git cd devops-agent/maven cp ./set_java ./podman/

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

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

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

# 打成私有库的tag docker tag builder-maven:v3.2.1-jdk17 192.168.1.43:30002/library/builder-maven:v3.2.1-jdk17 # 推送到仓库 docker push 192.168.1.43:30002/library/builder-maven:v3.2.1-jdk17

二、配置kubesphere

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

2、分别编辑jenkins_user.yaml 和 jenkins.yaml, 在mavenjdk11后面加个同级节点。

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

三、配置DevOps的Jenkins流水线

1、修改Jenkins流水线替换jenkins agent的匹配label标签由默认的maven改为新制作的mavenjdk17,以确保流水线正常工作

pipeline { agent { label 'mavenjdk17' }

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐