jenkins

jenkins简介

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成

jenkins官网

CI/CD是什么

CI(CI-Continuous integration,持续集成)

  • 持续集成是指多名开发者在开发不同功能代码的过程当中,可以频繁的将代码行合并到一起并切相互不影响工作。
  • 持续集成的目的,是让产品可以快速迭代,同时还能保持高质量。它的核心措施是,代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。
  • 简单来说,就是频繁的将代码集成到主干。将软件个人研发的部分向软件整体部分交付,频繁进行集成以便更快地发现其中的错误
  • 它的好处有以下两种:
    • 快速发现错误。每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易;
    • 防止分支大幅偏离主干。如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成。

CD (Continuous Delivery,持续交付)

  • 持续交付是在持续部署的基础之上,将产品交付到线上环境,因此持续交付是产品价值的一种交付,是产品价值的一种盈利的实现。
  • 持续交付指的是频繁地将软件的新版本,交付给质量团队或者用户,以供评审。如果评审通过,代码就进入生产阶段。
  • 持续交付在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境的「类生产环境」(production-like environments)中。持续交付优先于整个产品生命周期的软件部署,建立在高水平自动化持续集成之上。
    • 注:持续交付可以看作持续集成的下一步

CD(CD-continuous deployment,持续部署)

  • 是基于某种工具或平台实现代码自动化的构建、测试和部署到线上环境以实现交付高质量的产品,持续部署在某种程度上代表了一个开发团队的更新迭代速率。
  • 持续部署(continuous deployment)是持续交付的下一步,指的是代码通过评审以后,自动部署到生产环境。
  • 持续部署的目标是,代码在任何时刻都是可部署的,可以进入生产阶段。
    • 注:持续部署的前提是能自动化完成测试、构建、部署等步骤。

工作原理

  • 1.开发者检入代码到源代码仓库。
  • 2.CI系统会为每一个项目创建了一个单独的工作区。当预设或请求一次新的构建时,它将把源代码仓库的源码存放到对应的工作区。
  • 3.CI系统会在对应的工作区内执行构建过程。
  • 4.(配置如果存在)构建完成后,CI系统会在一个新的构件中执行定义的一套测试。完成后触发通知(Email,RSS等等)给相关的当事人。
  • 5.(配置如果存在)如果构建成功,这个构件会被打包并转移到一个部署目标(如应用服务器)或存储为软件仓库中的一个新版本。软件仓库可以是CI系统的一部分,也可以是一个外部的仓库,诸如一个文件服务器或者像 SourceForge、Java.net之类的网站。
  • 6.CI系统通常会根据请求发起相应的操作,诸如即时构建、生成报告,或者检索一些构建好的构件。

特点

  • (1)易安装:仅仅一个 Jenkins.war,从官网下载该文件后,直接运行,无需额外的安装,更无需安装数据库
  • (2)易配置:提供友好的 GUI 配置界面
  • (3)变更支持:Jenkins 能从代码仓库(SVN/Git)中获取并产生代码更新列表,并输出到编译输出信息中
  • (4)支持永久链接:用户是通过 Web 来访问 Jenkins 的,而这些 Web 页面的链接地址都是永久链接地址,可以在各种文档中直接使用该链接;
  • (5)集成 E-Mail/RSS/IM:当完成一次集成时,可通过这些工具实时收取集成结果(构建一次集成需要花费一定时间,有了这个功能,就可以在等待结果过程中,干别的事情);
  • (6)JUnit/TestNG 测试报告:也就是用以图表等形式提供详细的测试报表功能;
  • (7)支持分布式构建:Jenkins 可以把集成构建等工作分发到多台计算机中完成;
  • (8)文件指纹信息:Jenkins 会保存构建集成所产生的 jars 文件、集成构建使用了哪个版本;
  • (9)支持第三方插件:Jenkins 支持 第三方插件,这使得 Jenkins 功能变得越来越强大。

Maven介绍

  • Maven 就是构建 java 里面的一个 war 包的;
  • Maven 项目对象模型(POM)是可以通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具;
  • Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于Maven的缺省构建规则有较高的可重用性,所以常常用两三行Maven构建脚本就可以构建简单的项目;
  • 由于Maven的面向项目的方法,许多Apache Jakarta 项目发文时使用Maven,而且公司项目采用Maven的比例在持续增长。

部署

环境说明:

主机应用服务ip地址系统版本
jenkinstomcat;jenkins ;manven192.168.48.137centos8
clienttomcat192.168.48.138centos8
//首先关闭selinux和防火墙
[root@jenkins ~]# setenforce 0
[root@jenkins ~]# sed -ri 's/^(SELINUX=).*/\1disabled/g' /etc/selinux/config
[root@jenkins ~]# systemctl disable --now firewalld.service  
 
//安装java,还有git,和maven;为了免密登录可以下一个sshpass,或者生成秘钥传给客户机也可以
[root@jenkins ~]# dnf -y install java-17-openjdk git manven sshpass
 
//下载tomcat9.0.67版本
[root@jenkins ~]# wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.67/bin/apache-tomcat-9.0.67.tar.gz
[root@jenkins ~]# tar xf apache-tomcat-9.0.67.tar.gz -C /usr/local/
[root@jenkins ~]# mv /usr/local/apache-tomcat-9.0.67/ /usr/local/tomcat
[root@jenkins ~]# cd /usr/local/tomcat/
 
//编写tomcat.service文件
[root@jenkins tomcat]# vim /usr/lib/systemd/system/tomcat.service
 
[Unit]
Description=tomcat server daemon
After=network.target sshd-keygen.target
 
[Service]
Type=forking
ExecStart=/usr/local/tomcat/bin/catalina.sh start
ExecStop=/usr/local/tomcat/bin/catalina.sh stop
ExecReload=/bin/kill -HUP \$MAINPID
 
[Install]
WantedBy=multi-user.target
 
[root@jenkins tomcat]# systemctl daemon-reload 
[root@jenkins tomcat]# systemctl enable --now tomcat.service 
[root@jenkins tomcat]# ss -anlt
State              Recv-Q             Send-Q                               Local Address:Port                           Peer Address:Port             Process             
LISTEN             0                  128                                        0.0.0.0:22                                  0.0.0.0:*                                    
LISTEN             0                  1                               [::ffff:127.0.0.1]:8005                                      *:*                                    
LISTEN             0                  100                                              *:8080                                      *:*                                    
LISTEN             0                  128                                           [::]:22                                     [::]:*      
 
//下载jenkins
[root@jenkins tomcat]# cd webapps/
[root@jenkins webapps]# wget http://mirrors.jenkins.io/war-stable/2.346.3/jenkins.war
//它会自动解压
[root@jenkins webapps]# ls
docs  examples  host-manager  jenkins  jenkins.war  manager  ROOT

之后在网站界面进行操作

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

注:创建过程中需自己创建管理员用户

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值