kubesphere自定义podTemplate支持jdk21+maven3.9.x

本文基于 KubeSphere 官方 builder-base 构建自定义 DevOps 构建镜像,核心是安装 Temurin JDK 21 与 Maven 3.9.9。Dockerfile 步骤包括下载 JDK 包、解压至 /opt、设置 JAVA_HOME 与 PATH,再安装 Maven 并验证版本。在 KubeSphere DevOps 中,可通过 PodTemplate 指定该镜像,并利用 hostPath 挂载缓存目录 /root/.m2;若要连接私有 Nexus,需在 kubesphere-devops-worker 命名空间的 ks-devops-agent ConfigMap 中配置 MavenSetting,并将其挂载到对应 Maven 版本的 settings.xml 路径,注意路径必须与版本匹配。文章还记录了常见异常(如删除 agent Pod 失败)。最终制品为镜像 tanqidi/builder-maven:jdk21-maven3.9.9,帮助用户灵活定制构建环境并集成私有仓库。

kubesphere自定义podTemplate支持jdk21+maven3.9.x

Jenkins:jenkins-slave-maven3.9.9 & jdk21

本文介绍为Jenkins制作Maven构建器镜像。官方inbound-agent基础镜像未预装JDK,作者用Dockerfile安装JDK 21和Maven 3.9.9,构建镜像tanqidi/jnlp-slave-maven3.9.9-jdk21,并给出启动容器连接Jenkins的命令,可挂载docker.sock、Maven仓库和settings.xml。经RuoYi-Cloud验证可成功执行mvn clean package。问题:docker.sock权限不足可临时chmod 666,永久方案是统一宿主机与容器docker组GID并加入jenkins用户;tcpSlaveAgentListener 404需用50000端口或改IP直连。并对比基础与JDK17镜像差异供选择。

Jenkins:jenkins-slave-maven3.9.9 & jdk21

Jenkins:jenkins-slave-maven3.6

本文介绍为 Jenkins 配置后端 Maven 构建器。通过 Dockerfile 基于 JDK17 镜像安装 Maven 3.6.0,构建镜像后运行容器并连接 Jenkins 主节点。重点解决 slave 操作 Docker 时的权限不足问题:临时可 chmod 666 /var/run/docker.sock,永久方案是让宿主机与容器内 docker 组 GID 一致(均为 999),并将 jenkins 用户加入该组。最终提供镜像 tanqidi/jnlp-slave-maven3.6-jdk17:latest。读者可按步骤快速搭建 Maven 构建节点。

 Jenkins:jenkins-slave-maven3.6

Jenkins:jenkins-slave-nodejs18 & nvm

文章介绍使用Docker容器化启动Jenkins-slave并构建Node.js 18环境。先在Jenkins中新建固定节点,配置远程工作目录、标签及Java Web启动代理。通过自定义Dockerfile基于jnlp-slave镜像安装Node.js 18,并挂载宿主机docker命令与socket,实现在容器内直接调用Docker。启动连接后,构建任务通过标签表达式绑定到该节点完成npm安装与构建。进一步提供基于nvm的镜像,内置Node.js 4至22多版本,可用nvm切换满足不同项目需求。镜像已发布至阿里云镜像仓库。最后指出新版Jenkins需使用inbound-agent新镜像,避免Agent版本过旧导致连接被拒绝。

Jenkins:jenkins-slave-nodejs18 & nvm

Jenkins:从配置到部署全面指南

本文详细介绍了基于Docker部署Jenkins 2.478的完整流程,包括容器启动、域名配置、插件安装(Locale、CloudBees Docker Build and Publish、Parameterized Trigger)、汉化设置、密码修改及时区优化。操作部分演示了如何创建流水线、配置Git源码、通过Maven构建JAR包,并利用Docker Build and Publish构建推送镜像。高级操作通过Parameterized Trigger实现流水线解耦,将部署任务抽离为deploy-app,接收参数后远程拉取镜像并运行容器。同时解决了docker.sock权限不足的临时与永久方案,并指出Registry credentials不支持私有仓库的替代做法。读者可据此掌握Jenkins部署、流水线编排及常见异常处理。

Jenkins:从配置到部署全面指南
弹