首页 > 其他分享 >Jenkins简介及安装配置详解:开启持续集成之旅

Jenkins简介及安装配置详解:开启持续集成之旅

时间:2024-01-11 15:11:08浏览次数:34  
标签:集成 插件 Tomcat 简介 详解 服务器 Jenkins 安装

Jenkins简介及安装配置详解:开启持续集成之旅

一、Jenkins介绍

Jenkins是一个开源的、用Java编写的持续集成和持续交付(CI/CD)工具。它提供了一种简单易用的方式来自动化构建、测试和部署软件。Jenkins的主要目标是帮助开发团队加快软件开发过程,提高软件质量,并通过自动化流程减少手动操作和重复性工作。

Jenkins具有以下特点和优势:

  • 持续集成:Jenkins支持通过持续集成管道(Pipeline)来自动化构建、测试和部署。它能够检测代码的变更,并触发相应的构建和测试过程,确保及时地发现和解决问题。
  • 插件生态系统:Jenkins拥有丰富的插件生态系统,可以扩展各种功能和集成其他工具。无论是构建工具、版本控制系统、测试框架还是部署平台,都可以通过插件进行集成,满足不同项目的需求。
  • 可扩展性:Jenkins具有良好的可扩展性,可以根据项目的需求进行定制和配置。它支持并行化构建和分布式构建,可以在多个节点上执行任务,提高构建的效率和并发能力。
  • 多平台支持:Jenkins可以运行在各种操作系统上,包括Windows、Linux和Mac OS等。它也可以与各种开发工具和平台无缝集成,适用于不同的开发环境。
  • 可视化界面:Jenkins提供了直观的用户界面,方便用户进行配置、监控和管理。用户可以通过Web界面轻松地创建和管理任务,查看构建结果和日志等信息

1.1 持续集成

持续集成( Continuous integration , 简称 CI )指的是,频繁地(一天多次)将代码集成到主干。 持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。它的核心措施是,代码集成到主干 之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。

1.2 Jenkins持续集成的过程(传统方式与自动化部署)

传统部署:

img

自动化部署:

搭建上述持续集成环境可以把整个构建、部署过程自动化,很大程度上减轻工作量。对于程序员的日常开发来说不会造成任何额外负担——自己把代码提交上去之后,服务器上运行的马上就是最新版本,一切都发生在无形中。

img

二、环境搭建

1、准备工作

服务器准备:

需要准备三台服务器,分别是:

  • SVN代码托管服务器
  • Jenkins服务器
  • WEB发布服务器(Tomcat)

下面是我演示用的三台服务器的IP:

  Jenkins-->110.43.204.225

  SVN-->43.143.195.160

  WEB-->182.92.209.212
 
  • 1
  • 2
  • 3
  • 4
  • 5

需要用到的软件

本文基于jdk1.8进行构建:

 

Jenkins(2.346.1)、JDK、Maven、Tomcat、SVN
 
  • 1

软件打包到以下地址了:

链接:https://pan.baidu.com/s/1CD7IXZ_E-RNTsXEl6L7SRw?pwd=8mz8

软件的安装

软件的安装:在哪台服务器装什么软件就不演示了,到时会说明需要装什么,按照下面教程进行安装即可:

JDK:https://blog.csdn.net/qq_54796785/article/details/125206684

Maven:https://blog.csdn.net/qq_54796785/article/details/125846934

SVN:可网上参考

Tomcat:可网上参考

2、WEB发布服务器环境搭建

需要安装:JDK和Tomcat
还需要配置Tomcat用户,是为了后面通过Jenkins发布war包到此服务器Tomcat上面进行部署。

$TOMCAT_HOME/conf/tomcat-users.xml,最下面添加以下内容:表示新建一个用户tomcat,密码123456

<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager-status"/>
<role rolename="manager-script"/>
<role rolename="manager-gui"/>
<role rolename="admin-script"/>
<role rolename="admin-gui"/>
<user username="tomcat" password="123456" roles="manager-gui,manager-script,tomcat,admin-gui,admin-script"/>
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

如何测试新建的用户?

访问:182.92.209.212:8080

img

这时候大概率是出现了403,需要在$TOMCAT_HOME//webapps/manager/META-INF/context.xml,注释以下代码即可

img

3、SVN服务器环境搭建

直接看上面的安装教程即可,不需要其他环境

4、Jenkins环境搭建

前置条件,需要安装:JDK、Maven、Tomcat
然后修改下tomcat端口为80(非必须),再将jenkins.war包放在tomcat的webapps目录下,最后启动tomcat


访问以下地址:http://110.43.204.225/jenkins/

并复制秘钥到下面: cat /root/.jenkins/secrets/initialAdminPassword

img

img

然后就是耐心等待插件的安装:

img

这边我就创建一个账户:admin 123456

img

设置国内镜像源

进入 Manage Jenkins -> Manage Plugin -> Advanced 最下面有 Update Site,设置为: http://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

然后重启Jenkins:ip+端口/jenkins/restart

安装所需插件:选择插件,然后点击Install without restart安装即可

附插件市场地址:https://plugins.jenkins.io/

中文语言包:Locale(180.v207501dff9b_a_)
SVN插件:Subversion(2.16.0)
部署web应用:Deploy to container(1.16)
Maven插件:Maven IntegrationVersion(3.20)
SSH上传插件:Publish Over SSH(1.24)
 
  • 1
  • 2
  • 3
  • 4
  • 5

解决安装完成中文语言包,部分中文的问题:

1、安装插件(locale、Localization);
2、在System Configuration--Configure System下,找到Locale输入Default Language为en_US并勾选“Ignore browser preference and force this language to all users“
3、restart重启Jenkins:http://域名/restart;
4、再次语言设定为zh_CN,Jenkins切换为中文。
 
  • 1
  • 2
  • 3
  • 4

img

设置本机的JDK、Maven地址

 

标签:集成,插件,Tomcat,简介,详解,服务器,Jenkins,安装
From: https://www.cnblogs.com/py169/p/17958620

相关文章

  • 全网最详细的线程池 ThreadPoolExecutor 详解,建议收藏!
    一、ThreadPoolExecutor类讲解1、线程池状态:五种状态:线程池的shutdown()方法,将线程池由RUNNING(运行状态)转换为SHUTDOWN状态线程池的shutdownNow()方法,将线程池由RUNNING或SHUTDOWN状态转换为STOP状态。注:SHUTDOWN状态和STOP状态先会转变为TIDYING状态,最终......
  • Unity3D 性能杀手Overdraw详解
    前言Unity3D是一款强大的游戏开发引擎,但在使用过程中,我们需要注意一些可能会影响游戏性能的因素。其中之一就是Overdraw(过度绘制),它可以成为性能杀手。本文将详细解释Overdraw的概念、原因以及如何通过代码实现来减少Overdraw对游戏性能的影响。对惹,这里有一个游戏开发交流小组,希......
  • 详解白帽子以及红队、蓝队和紫队
    企业继续数字化,其关键基础设施和运营扩大了攻击面,暴露于各种威胁途径的面前。为了解决这个问题,企业领导者认识到拥有内部专家的重要性。考虑到网络威胁领域不断发展的态势,企业领导者可以利用道德黑客以及红队、蓝队和紫队的工作,比恶意攻击者和高级持续性威胁(APT)领先一步。这些实践......
  • 基于k8s Deployment的弹性扩缩容及滚动发布机制详解
    k8s第一个重要设计思想:控制器模式。k8s里第一个控制器模式的完整实现:Deployment。它实现了k8s一大重要功能:Pod的“水平扩展/收缩”(horizontalscalingout/in)。该功能从PaaS时代开始就是一个平台级项目必备编排能力。若你更新了Deployment的Pod模板(如修改容器的镜像),则Deployment......
  • linux之信号操作(九千字长文详解)
    linux之信号操作sigset_t这是信号在内核中的表示==block和pending都是位图——即用bit位来表示信号编号!==每个信号只有一个bit的未决标志,非0即1,不记录该信号产生了多少次,阻塞标志也是这样表示的。因此,未决和阻塞标志可以用==相同的数据类型sigset_t==来存储,==sigset_t......
  • Unity DOTS物理引擎的核心分析与详解
    最近DOTS发布了正式的版本,同时基于DOTS的理念实现了一套高性能的物理引擎,今天我们来给大家分享和介绍一下这个物理引擎的使用。Unity.Physics的设计哲学 Unity.Physics是基于DOTS设计思想的一个高性能C#物理引擎的实现,  包含了物理刚体的迭代计算与碰撞检测等查询。Unity.P......
  • DM7_SQL语言使用手册_第 1 章 结构化查询语言 DM_SQL 简介
    第1章结构化查询语言DM_SQL简介结构化查询语言SQL(StructuredQueryLanguage)是在1974年提出的一种关系数据库语言。由于SQL语言接近英语的语句结构,方便简洁、使用灵活、功能强大,倍受用户及计算机工业界的欢迎,被众多计算机公司和数据库厂商所采用,经各公司的不断修改......
  • Unity3D 最后一次drawcall 如何避免详解
    Unity3D是一款广泛使用的游戏开发引擎,它基于C#编程语言,可以实现跨平台的游戏开发。在Unity3D中,drawcall是一个非常重要的概念,它指的是渲染引擎每次渲染物体时所调用的函数。过多的drawcall会导致游戏性能下降,因此我们需要采取一些措施来避免过多的drawcall。对啦!这里有个游戏开发......
  • Unity3D 如何把全部游戏逻辑都放到lua层实现详解
    Unity3D是一款非常流行的游戏开发引擎,它支持C#、JavaScript和Boo等脚本语言。然而,有时候我们可能希望将全部游戏逻辑都放到Lua层实现,这样可以更方便地进行游戏逻辑的修改和调试。本文将详细介绍如何使用Unity3D将全部游戏逻辑都放到Lua层实现。对啦!这里有个游戏开发交流小组里面......
  • 【愚公系列】2024年01月 WPF控件专题 ListBox控件详解
    ......