1. Jenkins服务搭建概述Jenkins作为一款开源的持续集成与持续交付(CI/CD)工具已经成为现代软件开发流程中不可或缺的一环。2025年最新LTS版本在性能、安全性和易用性方面都有了显著提升。本文将基于CentOS环境详细讲解从零开始搭建Jenkins服务的完整流程包含2025年版本的最新配置要点。对于开发团队而言Jenkins能够实现自动化构建、测试和部署实时监控代码质量多环境发布管理与各类开发工具链集成本次搭建将使用以下技术栈JDK 21 LTS长期支持版本Apache Tomcat 9.xMaven 3.9Jenkins 2.4xx LTS系列提示虽然Jenkins支持独立运行但通过Tomcat部署能更好地融入现有Java技术体系也便于后续扩展和集群管理。2. 环境准备与前置条件2.1 操作系统配置推荐使用CentOS 7或更高版本作为基础环境。以下是必要的系统级配置# 更新系统包 sudo yum update -y # 安装基础工具 sudo yum install -y wget curl unzip git # 关闭SELinux生产环境需谨慎 sudo setenforce 0 sudo sed -i s/^SELINUXenforcing/SELINUXdisabled/ /etc/selinux/config # 防火墙配置开放8080端口 sudo firewall-cmd --permanent --add-port8080/tcp sudo firewall-cmd --reload2.2 Java环境安装Jenkins 2025 LTS版本要求JDK 17或更高版本推荐使用JDK 21# 下载JDK 21 wget https://download.java.net/java/GA/jdk21.0.2/f2283984656d49d69e91c558476027ac/13/GPL/openjdk-21.0.2_linux-x64_bin.tar.gz # 解压安装 tar -xzf openjdk-21.0.2_linux-x64_bin.tar.gz sudo mv jdk-21.0.2 /usr/local/ # 配置环境变量 echo export JAVA_HOME/usr/local/jdk-21.0.2 ~/.bashrc echo export PATH$JAVA_HOME/bin:$PATH ~/.bashrc source ~/.bashrc # 验证安装 java -version2.3 Tomcat安装与配置Apache Tomcat作为Servlet容器建议使用9.x稳定版本# 下载Tomcat 9 wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.85/bin/apache-tomcat-9.0.85.tar.gz # 解压安装 tar -xzf apache-tomcat-9.0.85.tar.gz sudo mv apache-tomcat-9.0.85 /opt/tomcat # 创建专用用户 sudo useradd -r -s /bin/false tomcat sudo chown -R tomcat:tomcat /opt/tomcat # 配置服务 sudo bash -c cat /etc/systemd/system/tomcat.service EOF [Unit] DescriptionApache Tomcat Afternetwork.target [Service] Typeforking Usertomcat Grouptomcat EnvironmentCATALINA_PID/opt/tomcat/temp/tomcat.pid EnvironmentJAVA_HOME/usr/local/jdk-21.0.2 EnvironmentCATALINA_HOME/opt/tomcat EnvironmentCATALINA_BASE/opt/tomcat ExecStart/opt/tomcat/bin/startup.sh ExecStop/opt/tomcat/bin/shutdown.sh Restarton-failure [Install] WantedBymulti-user.target EOF # 启动服务 sudo systemctl daemon-reload sudo systemctl enable tomcat sudo systemctl start tomcat验证Tomcat是否正常运行访问http://服务器IP:8080应看到Tomcat欢迎页面。3. Jenkins核心安装流程3.1 获取Jenkins WAR包访问 Jenkins官方下载页 选择最新的LTS版本当前为2.4xx系列# 下载最新LTS版本 wget https://get.jenkins.io/war-stable/latest/jenkins.war # 部署到Tomcat sudo cp jenkins.war /opt/tomcat/webapps/ sudo systemctl restart tomcat3.2 初始配置访问Jenkins界面http://服务器IP:8080/jenkins获取初始管理员密码sudo cat /opt/tomcat/webapps/jenkins/WEB-INF/secrets/initialAdminPassword选择插件安装方式推荐安装推荐插件包含Git、Pipeline等核心插件自定义安装仅安装必需插件后续按需添加注意事项首次安装时若遇到插件下载失败可尝试更换更新中心镜像进入Manage Jenkins → Plugin Manager → Advanced将Update Site改为清华镜像https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json3.3 管理员账户创建完成插件安装后需要创建第一个管理员用户用户名建议使用邮箱格式密码需符合复杂性要求至少12位含大小写字母、数字和特殊字符保存好凭证信息建议使用密码管理器存储4. 系统全局配置详解4.1 Jenkins基础设置进入Manage Jenkins → System Configuration配置项推荐值说明Jenkins URLhttp://域名或IP:8080/jenkins必须与实际访问地址一致系统管理员邮箱adminyourdomain.com用于系统通知执行者数量CPU核心数×2控制并行构建任务数安静期5秒防止SCM触发过于频繁4.2 全局工具配置关键工具路径设置Manage Jenkins → Global Tool ConfigurationJDK配置名称jdk-21JAVA_HOME/usr/local/jdk-21.0.2Maven配置名称maven-3.9MAVEN_HOME/opt/maven需提前安装勾选自动安装可让Jenkins管理版本Git配置名称system-gitPath to Git executable/usr/bin/git提示生产环境建议固定工具版本避免自动更新导致构建不一致4.3 插件管理与必备插件2025年推荐安装的核心插件列表插件名称功能是否必需Pipeline流水线支持是Blue Ocean现代化UI推荐Git版本控制是Docker容器集成可选SonarQube Scanner代码质量推荐Email Extension邮件通知推荐Role-based Strategy权限管理推荐安装方法进入Manage Jenkins → Plugin Manager在Available标签页搜索插件勾选后点击Install without restart5. 项目配置实战5.1 创建第一个Pipeline项目点击新建Item→ 输入任务名称选择Pipeline类型在Pipeline部分选择Pipeline script from SCM配置Git仓库信息Repository URL项目Git地址Credentials添加Git访问凭证Branch Specifier*/main指定Jenkinsfile路径默认为Jenkinsfile5.2 典型Jenkinsfile示例pipeline { agent any tools { jdk jdk-21 maven maven-3.9 } stages { stage(Checkout) { steps { git branch: main, url: https://github.com/yourrepo/project.git } } stage(Build) { steps { sh mvn clean package -DskipTests } } stage(Test) { steps { sh mvn test junit **/target/surefire-reports/*.xml } } stage(SonarQube Analysis) { steps { withSonarQubeEnv(sonar-server) { sh mvn sonar:sonar } } } stage(Deploy) { when { branch main } steps { sh mvn deploy } } } post { always { emailext body: 构建详情: ${BUILD_URL}, subject: 构建通知: ${JOB_NAME} - ${BUILD_STATUS}, to: teamyourdomain.com } } }5.3 构建触发器配置常见的触发方式SCM轮询在Build Triggers中勾选Poll SCM设置日程表如H/5 * * * *表示每5分钟检查一次变更Webhook触发在Git仓库配置Webhook如GitHub的Settings → WebhooksPayload URL填写http://jenkins-url/github-webhook/在Jenkins任务中勾选GitHub hook trigger for GITScm polling定时构建使用Build periodically选项示例0 2 * * *表示每天凌晨2点执行6. 高级配置与优化6.1 分布式构建配置添加Agent节点进入Manage Jenkins → Nodes → New Node选择Permanent Agent配置名称、远程工作目录如/home/jenkins/agent选择启动方式推荐通过SSHAgent连接配置Host节点IP或域名CredentialsSSH密钥凭证Host Key Verification StrategyNon verifying在Pipeline中指定节点pipeline { agent { label linux-slave } // 其他配置... }6.2 安全加固措施启用HTTPS在Tomcat的server.xml中配置SSL连接器更新Jenkins URL为https://权限管理安装Role-based Authorization Strategy插件在Manage Jenkins → Configure Global Security中启用创建角色并分配权限定期备份安装ThinBackup插件设置自动备份计划备份内容包括jobs、plugins、users等目录6.3 性能优化建议JVM参数调整# 在Tomcat的setenv.sh中添加 export JAVA_OPTS-Xms2g -Xmx4g -XX:MaxMetaspaceSize512mJenkins系统配置减少不必要的构建历史保留建议保留最近10-20次禁用不使用的插件定期执行Manage Jenkins → Clean System日志管理配置日志轮转Manage Jenkins → System Log对大型项目启用Pipeline Speed/Durability设置7. 常见问题排查7.1 安装阶段问题问题1插件下载失败检查网络连接更换更新中心镜像手动下载插件.hpi文件后上传安装问题2Tomcat启动失败检查端口冲突netstat -tulnp | grep 8080查看Tomcat日志/opt/tomcat/logs/catalina.out确保文件权限正确chown -R tomcat:tomcat /opt/tomcat7.2 构建阶段问题问题1Maven依赖下载失败检查网络代理设置配置Maven镜像仓库settings.xml清理本地仓库后重试问题2Pipeline语法错误使用Replay功能快速测试修改在Pipeline Syntax页面生成正确语法启用Script Security插件防止危险操作7.3 系统运行问题问题1内存不足增加JVM堆内存限制并行构建数量考虑添加构建节点分担负载问题2磁盘空间不足配置构建历史自动清理定期归档大文件添加磁盘或挂载网络存储提示遇到问题时首先检查/opt/tomcat/logs/jenkins.log获取详细错误信息。对于复杂问题可以在Jenkins社区https://community.jenkins.io/寻求帮助。