Jenkins

jenkins特点:

易安装:仅仅一个 jenkins.war,从官网下载该文件后,直接运行,无需额外的安装,更无需安装数据库;

易配置:提供友好的 GUI 配置界面;

变更支持:Jenkins 能从代码仓库(SVN /Git)中获取并产生代码更新列表,并输出到编译输出信息中;

支持永久链接:用户是通过 Web 来访问 Jenkins 的,而这些 Web 页面的链接地址都是永久链接地址,可以在各种文档中直接使用该链接;

集成 E-Mail/RSS/IM:当完成一次集成时,可通过这些工具实时收取集成结果(构建一次集成需要花费一定时间,有了这个功能,就可以在等待结果过程中,干别的事情);

JUnit/TestNG 测试报告:也就是用以图表等形式提供详细的测试报表功能;

支持分布式构建:Jenkins 可以把集成构建等工作分发到多台计算机中完成;

文件指纹信息:Jenkins 会保存构建集成所产生的 jars 文件、集成构建使用了哪个版;

支持第三方插件:Jenkins 支持第三方插件,这使得 Jenkins 功能变得越来越强大。

持续集成的作用

保证团队开发人员提交代码的质量,减轻了软件发布时的压力;

持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,有利于减少重复过程以节省时间、费用和工作量

持续集成的特点

是一个自动化的、周期性的集成测试过程,从检出代码、编译构建、运行测试、结果记录、测试统计等都是自动完成的,无需人工干预;

需要有专门的集成服务器来执行集成构建;

需要有代码托管工具支持;

安装与配置Jenkins

导入安装源

root@jenkins \~# wget -O /etc/yum.repos.d/jenkins.repo --no-check-certificate https://pkg.jenkins.io/redhat-stable/jenkins.repo

root@jenkins \~# rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key

安装jenkins

root@jenkins \~# yum install fontconfig java-17-openjdk -y

root@jenkins \~# yum install jenkins -y

导入登录密码

root@jenkins \~# cat /var/lib/jenkins/secrets/initialAdminPassword

fa041812a53a478eb47ae69264731f8

三大原则 流动原则 可视化工作流(看板管理) 限制在制品数量(WIP 限制) 自动化流水线(CI/CD) 减少交接和手动操作 反馈原则 全链路监控与告警(Nagios 这类工具)

测试左移(单元测试、自动化测试提前)

生产环境的快速反馈(用户反馈、性能数据)

故障快速定位与恢复 持续学习与实验原则 故障复盘( blameless post-mortem,不指责复盘)

安全实验环境(灰度发布、金丝雀发布)

持续改进流程和工具

知识共享与跨职能协作

Jenkins 是整个流程的 "自动化引擎",通过 CI/CD(持续集成 / 持续部署)串联起开发与运维,实现从代码提交到部署的全流程自动化

Jenkins自由风格项目配置(核心步骤)

4.1 新建项目

新建Item → 输入项目名:tomcat-php-deploy

选择【自由风格项目】→ 确定

4.2 源码管理配置

勾选【Git】

仓库地址:file:///data/git/php-project (本地Git仓库地址)

支构建:*/main

|-----------------|-----------------------------------|---------------------------------------|
| 报错现象 | 原因 | 解决办法 |
| Jenkins拷贝文件权限不足 | Jenkins默认运行用户为jenkins,无tomcat目录权限 | 修改配置将Jenkins运行用户改为root,重启服务 |
| Tomcat无法重启,端口占用 | Tomcat关闭脚本失效,进程残留 | kill -9 $(ps -ef |
| Git提交后不自动构建 | 钩子脚本无执行权限、Jenkins地址写错 | 给post-receive添加执行权限,核对JenkinsIP和token |
| 页面访问无法解析PHP | php-fpm未启动、tomcat配置未生效 | 重启php-fpm和tomcat,检查context.xml配置 |

相关推荐
大树882 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠2 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质2 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
Inhand陈工2 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智2 天前
ARP代理--工作原理
运维·网络·arp·arp代理
shushangyun_2 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
施努卡机器视觉2 天前
SNK施努卡侧滑门锁上滑轮总成自动化装配线,从零件到组件,全流程精密制造方案
运维·自动化·制造
AC赳赳老秦2 天前
用 OpenClaw 搭建服务器故障应急响应系统,自动处理 80% 常见运维故障
android·运维·服务器·python·rxjava·deepseek·openclaw
java_cj2 天前
深入kube-apiserver认证机制:从Bearer Token到mTLS的完整认证链解析
linux·运维·服务器·云原生·容器·kubernetes
lsyeei3 天前
linux 系统目录详解
linux·运维·服务器