- 分类
- jenkins
Jenkinsfile Pipeline
本文介绍了一个Node.js项目的Jenkins流水线配置,用于解决构建偶发失败的问题。流水线新增了布尔参数`CLEAR_CACHE`,当置为true时,会在编译前执行`npm cache clean --force`彻底清除npm缓存,从而避免因缓存导致的构建异常。流水线支持选择发布环境(UAT-CICD或UAT-CD),包含拉取代码、npm构建、打包镜像、推送Harbor及部署K8s等阶段。关键点包括:通过参数动态控制是否清缓存,编译前打印版本与环境信息,UAT-CD模式直接使用指定镜像版本跳过构建。该方案可在不修改代码的前提下,灵活应对构建缓存问题,提高构建成功率。
- 2025-02-11
- 170
- 0
- 0
- 41.0℃
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镜像差异供选择。
- 2024-09-30
- 512
- 0
- 0
- 75.2℃
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 构建节点。
- 2024-09-30
- 160
- 0
- 0
- 40.0℃
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版本过旧导致连接被拒绝。
- 2024-08-26
- 926
- 0
- 2
- 120.6℃
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部署、流水线编排及常见异常处理。
- 2024-08-24
- 612
- 0
- 0
- 85.2℃