Devops基础之Jenkins持续集成工具(持续更新)

Jenkins 是 DevOps 的核心枢纽,扮演着核心的持续集成/持续交付(CI/CD)引擎 角色,它连接开发与运维自动化软件交付流程确保质量与效率

一、Jenkins简介

Jenkins是一个用Java编写的开源的持续集成工具。 官方网站:https://jenkins.io/

Jenkins提供了软件开发的持续集成服务。它运行在Servlet容器中(Tomcat)。

Jenkins 能实时监控持续集成过程中所存在的问题,提供详细的日志文件和提醒功能, 还能用图表的形式,形象地展示项目构建的趋势和稳定性。

持续集成

持续集成(英语:Continuous integration,缩写为 CI),一种软件工程流程,将所有工程师对于软件的工作复本,每天集成数次到共用主线(mainline)上。持续集成主要是强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。简单来讲就是:频繁地(一天多次)将代码集成到主干。

持续交付

持续交付(英语:Continuous delivery,缩写为 CD),是一种软件工程手法,让软件产品的产出过程在一个短周期内完成,以保证软件可以稳定、持续的保持在随时可以释出的状况。

它的目标在于让软件的建置、测试与释出变得更快以及更频繁。这种方式可以减少软件开发的成本与时间,减少风险。

持续交付是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境的「类生产环境」(production-like environments)中。比如,我们完成单元测试后,可以把代码部署到连接数据库的 Staging 环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境中。

持续部署

持续部署(英语:Continuous Deployment,缩写为 CD),是持续交付的下一步,指的是代码通过评审以后,自动部署到生产环境。

有时候,持续部署也与持续交付混淆。持续部署意味着所有的变更都会被自动部署到生产环境中。持续交付意味着所有的变更都可以被部署到生产环境中,但是出于业务考虑,可以选择不部署。如果要实施持续部署,必须先实施持续交付。

二、安装与配置Jenkins(OpenEuler)

导入安装源

wget -O /etc/yum.repos.d/jenkins.repo --no-check-certificate

https://pkg.jenkins.io/redhat-stable/jenkins.repo

rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key

安装jenkins

yum install fontconfig java-17-openjdk -y jenkins支持最低版本java17及以上

yum install jenkins -y

如果原有java其他版本可先卸载再删除:

java -version查看java版本 设置开机自启

查看服务端口并登录jenkins 服务ip:8080端口

导入登录密码

root@jenkins \~\]# cat /var/lib/jenkins/secrets/initialAdminPassword fa041812a53a478eb47ae69264731f81![](https://i-blog.csdnimg.cn/direct/50e3ce9ab622477499d37d6a684be47d.png) ### 安装登录![](https://i-blog.csdnimg.cn/direct/8625d0fa11a042c0916f029913c9912e.png) ### 安装必要插件 Publish Over SSH maven integration ### ![](https://i-blog.csdnimg.cn/direct/d9e8fc04e93d425280135c24c096029f.png) ### 配置jenkins邮箱并测试![](https://i-blog.csdnimg.cn/direct/f74e0002dd974e4191e57e64691a1c88.png)![](https://i-blog.csdnimg.cn/direct/734702ccdbc24b99b8b400e916f95a9c.png)![](https://i-blog.csdnimg.cn/direct/9ba5b1b91fb24f5e8e7f488f02be432d.png) ## 三、自动化部署PHP实验(OpenEuler) 四台主机:1、web1作为试验机用来测试自动部署;2、k8s-master作为代码提供和上传主机;3、gitlab主机用来存储代码;4、jenkins用来实现自动化流水部署。 基础配置: ###### 主机一、web1:![](https://i-blog.csdnimg.cn/direct/de47cfd804e54916af07146a66649422.png) ###### 主机二、k8s-master:在gitlab服务机创建好项目后进行测试代码编写和推送 ###### 主机三、jenkins:使用Jenkins账户生成ssh密钥添加到gitlab的服务页面中。![](https://i-blog.csdnimg.cn/direct/380d7fa025c1486baf48aeb78499405b.png)![](https://i-blog.csdnimg.cn/direct/9b21d02aa05b43efb26c257f57797cbd.png)![](https://i-blog.csdnimg.cn/direct/e7e6b23aaee944259e4179fa51c45c65.png) ###### 3.1、检测jenkins与web1以及gitlab的连接![](https://i-blog.csdnimg.cn/direct/70754716b7784ef2816917dd2e4689fe.png)![](https://i-blog.csdnimg.cn/direct/07f4d2d4ede64a7bbd4e7707100a0ca0.png)![](https://i-blog.csdnimg.cn/direct/d1c8a1b78ec44be39606b2f312ca0c70.png) ###### 主机四、gitlab从服务页新建项目![](https://i-blog.csdnimg.cn/direct/d00020b095e14a8ba31ca770874bacde.png) #### **完成上述基础操作后开始测试** ###### 1、k8s-mater主机上克隆gitlab项目编写代码并推送![](https://i-blog.csdnimg.cn/direct/fa9b1ceec63e4c6da31bee77d3e0062f.png) ###### 2、jenkins服务页面新建自由任务![](https://i-blog.csdnimg.cn/direct/1646eae09d24482aa7f94adc6a205a97.png) 源码管理添加gitlab项目的ssh克隆URL代码并选择好分支![](https://i-blog.csdnimg.cn/direct/7b1c2a26b35c42e4a22fa5e6f1ea524d.png) 构建步骤使用代码语言构建用来传输测试文件![](https://i-blog.csdnimg.cn/direct/54c8125e5ab4426ca95eff2c1d3f0d71.png)![](https://i-blog.csdnimg.cn/direct/5677d6ad48ac4b4ca39f34d56a4d9624.png) ###### 3、web1主机检查和测试![](https://i-blog.csdnimg.cn/direct/1475f32147024a5aa1395ceba4aadffe.png)![](https://i-blog.csdnimg.cn/direct/319e342b36e84385bd0ca6c10fb987cc.png) ### 测试成功!!!

相关推荐
小飞程序员2 天前
Docker本地部署gitlab实践(windows,linux)
devops
牛奶咖啡133 天前
DevOps自动化运维实践_使用再生龙对Linux系统进行备份还原
运维·自动化·devops·linux系统的备份还原·linux系统克隆备份·再生龙
IAR Systems3 天前
松下电工借助IAR CI/CD解决方案,实现品质与效率双重飞跃
ci/cd
Cherry的跨界思维3 天前
【AI测试全栈:质量】47、Vue+Prometheus+Grafana实战:打造全方位AI监控面板开发指南
vue.js·人工智能·ci/cd·grafana·prometheus·ai测试·ai全栈
海兰3 天前
Jina Embeddings V5 Text + Elasticsearch 9.x 本地部署指南
elasticsearch·jenkins·jina
觅特科技-互站3 天前
告别手动微调Prompt:DevOps用陌讯Skills重构AI运维工作流
运维·prompt·线性回归·kmeans·devops
luod3 天前
Docker 快速安装Jenkins
java·docker·jenkins
加农炮手Jinx3 天前
Flutter for OpenHarmony: Flutter 三方库 icon_font_generator 自动化将 SVG 图标集转化为字体文件(鸿蒙矢量资源全自动管理)
运维·flutter·华为·自动化·harmonyos·devops
小道仙973 天前
jenkins对接、jenkins-rest
java·servlet·jenkins·jenkins-rest
成为你的宁宁3 天前
Jenkins 自动化部署前后端分离若依项目全攻略:涵盖环境配置、Maven/Node.js 工具安装、GitLab 项目协同,及前后端构建、服务器推送与代码更新验证全步骤
node.js·自动化·gitlab·jenkins·maven