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

news2024/11/20 6:28:15

目录

    • 一、Jenkins介绍
      • 1.1 持续集成
      • 1.2 Jenkins持续集成的过程(传统方式与自动化部署)
    • 二、环境搭建
      • 1、准备工作
      • 2、WEB发布服务器环境搭建
      • 3、SVN服务器环境搭建
      • 4、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

需要用到的软件

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

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

软件打包到以下地址了:

链接: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"/>

如何测试新建的用户?

访问: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、安装插件(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切换为中文。

img

设置本机的JDK、Maven地址

系统管理->全局工具配置

img

img

img

保存即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1120267.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Defender Antivirus占用资源怎么禁止

前言 有时Defender Antivirus 突然磁盘IO很高。导致机器卡得很&#xff0c;开发代码很不方便&#xff0c;本文就介绍如何禁用这个服务。2f089809-2c6f-4fb7-86f5-8b5cbca8bd0d 操作 下载Defender Control https://www.sordum.org/9480/defender-control-v2-1/ 这是当前的最…

Adobe Photoshop 基本操作

PS快捷键 图层 选择图层 Ctrl T&#xff1a;可以对图层的大小和位置进行调整 填充图层 MAC: AltBackspace (前景) or CtrlBackspace (背景) WINDOWS: AltDelete (前景) or CtrlDelete (背景) 快速将图层填充为前景色或背景色 平面化图层&#xff08;盖印图层&#xff09…

uniapp实现登录组件之外区域置灰并引导登录

实现需求 每个页面需要根据用户是否登录决定是否显示登陆组件,登录组件半屏底部显示,登录组件之外区域置灰,功能按钮点击之后引导提示登录.页面效果如下: 实现思路说明 设置登录组件背景颜色为灰色,将页面分成登录区域(底部)和非登陆区域(上面灰色显示部分), 置灰区域添加…

嵌入式学习笔记(61)位操作符

2.1.1.位与& (1)注意&#xff1a;位与符号是一个&&#xff0c;两个&&是逻辑与。 (2)真值表&#xff1a;1&00 1&11 0&00 0&10 (3)从真值表可以看出&#xff1a;位与操作的特点是&#xff0c;只有1和1位于结果为1&#xff0c;其余全是0. (4)…

【Java】Java 17 新特性

Java 17 新特性概览 1. Java 17 简介2. Java 17 新特性类型推断 - 新的 var 关键字垃圾回收器改进JEP 356 增强的伪随机数生成器&#xff08;1&#xff09;提供了一个新接口 RandomGenerator&#xff08;2&#xff09;提供了一个新类 RandomGeneratorFactory&#xff08;3&…

Flutter的Don‘t use ‘BuildContext‘s across async gaps警告解决方法

文章目录 问题有问题的源码 问题原因问题分析Context的含义BuildContext的作用特殊情况 解决方法 问题 Flutter开发中遇到Don’t use BuildContext’s across async gaps警告 有问题的源码 if (await databaseHelper.isDataExist(task.title)) {showDialog(context: context,…

在PowerBI中提取IFC文件中的数据

推荐&#xff1a;用 NSDT编辑器 快速搭建可编程3D场景 在这篇文章中&#xff0c;我将逐步介绍从IFC文件中提取数据以创建 Shift IFC4PowerBI 函数的步骤。通过了解此工作流程&#xff0c;你能够更轻松地将 IFC 数据合并到自己的流程中。 在本文中&#xff0c;我们将重点关注文…

Reparameterization trick(重参数化技巧)

“Reparameterization trick”&#xff08;重参数化技巧&#xff09;是一种在训练生成模型中处理随机性潜在变量的方法&#xff0c;特别常见于变分自动编码器&#xff08;VAE&#xff09;等模型中。这个技巧的目的是使模型可微分&#xff08;differentiable&#xff09;&#x…

【源码】C++坦克大战源码

文章目录 题目介绍你收到的所有文件源码效果展示报告内容 题目介绍 代码量&#xff1a;1450 语言&#xff1a;C 你收到的所有文件 其中一个是devc版本&#xff0c;也可以用visual stdio 运行。 源码效果展示 typedef struct //这里的出现次序指的是一个AI_ta…

使用CountdownLatch和线程池批量处理http请求,并处理响应数据

背景和问题 ​ 背景&#xff1a;最近项目的一个接口数据&#xff0c;需要去请求其他多个服务器的数据&#xff0c;然后统一返回&#xff1b; 问题点&#xff1a;如果遍历所有的服务器地址&#xff0c;然后串行请求就会出现请求时间过长&#xff0c;加入需要请求十个服务器&…

Xray联动crawlergo自动扫描漏洞教程

xray和crawlergo联动 xray下载: https://github.com/chaitin/xray/releases crawlergo下载:360-crawlergo&#xff1a; github&#xff1a;https://github.com/Qianlitp/crawlergo/releases 联动脚本&#xff1a; github&#xff1a;https://github.com/timwhitez/crawlergo_x_…

Qt扫盲-QColor 理论使用总结

QColor 理论使用总结 一、概述1. 构造函数2. 合法性校验3. 组成值检索 二、整数与浮点精度三、Alpha-Blended Alpha混合图四、预定义颜色五、扩展的RGB颜色模型六、HSV颜色模型七、HSL颜色模型八、CMYK颜色模型 一、概述 QColor 是Qt里面描绘颜色的一个属性类&#xff0c;这个…

【算法练习Day25】 重新安排行程N 皇后 解数独

​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;练题 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 文章目录 重新安排行程N 皇后解数独总…

图论05-【无权无向】-图的广度优先BFS遍历-路径问题/检测环/二分图/最短路径问题

文章目录 1. 代码仓库2. 单源路径2.1 思路2.2 主要代码 3. 所有点对路径3.1 思路3.2 主要代码 4. 联通分量5. 环检测5.1 思路5.2 主要代码 6. 二分图检测6.1 思路6.2 主要代码6.2.1 遍历每个联通分量6.2.2 判断相邻两点的颜色是否一致 7. 最短路径问题7.1 思路7.2 代码 1. 代码…

使用 Visual Studio Code (VS Code) 作为 Visual C++ 6.0 (VC6) 的编辑器

使用 Visual Studio Code (VS Code) 作为 Visual C 6.0 (VC6) 的编辑器 由于一些众所周知的原因&#xff0c;我们不得不使用经典&#xff08;过时&#xff09;的比我们年龄还大的已有 25 年历史的 VC 6.0 来学习 C 语言。而对于现在来说&#xff0c;这个经典的 IDE 过于简陋&a…

python:红狐优化算法(Red fox optimization,RFO)求解23个基本函数

一、红狐优化算法 红狐优化算法&#xff08;Red fox optimization&#xff0c;RFO&#xff09;由Dawid Połap和 Marcin Woźniak于2021年提出&#xff0c;该算法模拟了红狐的狩猎行为&#xff0c;具有收敛速度快&#xff0c;寻优精度高等优势。 参考文献&#xff1a; Poap D …

华为OD技术面试-最短距离矩阵(动态规划、广度优先)

背景 记录2023-10-21 晚华为OD三面的手撕代码题&#xff0c;当时没做出来&#xff0c;给面试官说了我的想法&#xff0c;评价&#xff1a;解法复杂了&#xff0c;只是简单的动态规范 或 广度优先算法&#xff0c;事后找资料记录实现方式。 题目 腐烂的橘子 问题描述&#xff…

【项目实战】从零开始设计并实现一个接口异常链路分析器

这不是马上要到1024了吗&#xff0c;这不得弄个什么工具给部门项目提提效&#x1f62f;&#xff1f; 1. 背景 在我们服务端应用当中&#xff0c;我们往往会要求更高的性能和更高的稳定性&#xff0c;但实际开发的过程中&#xff0c;可能会出现很多赶时间的情况&#xff08;也…

RustDay06------Exercise[91-100]

91.将指针还原成指定类型 因为指针不知道里面具体有什么,所以一般约定打上unsafe 申明开发者自己对该部分可用性负责,且在调试的时候也能起强调作用 // tests6.rs // // In this example we take a shallow dive into the Rust standard librarys // unsafe functions. Fix …

大疆智图(PC):新一代高效率高精度摄影测量软件

大疆智图是一款以二维正射影像与三维模型重建为主的软件&#xff0c;同时提供二维多光谱重建、激光雷达点云处理、精细化巡检等功能。它能够将无人机采集的数据可视化&#xff0c;实时生成高精度、高质量三维模型&#xff0c;满足事故现场、工程监测、电力巡线等场景的展示与精…