Jenkins学习笔记

server/2025/3/12 3:22:36/

文章目录

    • 一、Jenkins简介
    • 二、Jenkins的安装
      • 1. 安装前准备
      • 2. 安装Jenkins
      • 3. 启动Jenkins
    • 三、Jenkins的配置
      • 1. 初始配置
      • 2. 全局工具配置
      • 3. 插件安装
    • 四、Jenkins的使用
      • 1. 创建新任务
      • 2. 配置任务
      • 3. 触发构建
      • 4. 查看构建结果
    • 五、Jenkins的高级功能
      • 1. 分布式构建
      • 2. 流水线(Pipeline)
      • 3. 插件开发
    • 六、通俗讲解
      • 1. 为什么需要Jenkins?
      • 2. Jenkins如何工作?
      • 3. Jenkins的使用场景
    • 七、总结

一、Jenkins简介

Jenkins是一个开源的自动化服务器,主要用于持续集成(CI)和持续交付/部署(CD)。它允许我们自动化构建、测试和部署软件项目,从而提高软件开发和交付的效率和质量。简单来说,Jenkins就像是一个自动化工厂,只要把原材料(代码)放进去,它就能自动帮你把产品(可运行的软件)生产出来。

二、Jenkins的安装

1. 安装前准备

在安装Jenkins之前,需要确保系统已经安装了Java Development Kit(JDK)。可以使用以下命令来安装JDK(以Ubuntu为例):

sudo apt-get update
sudo apt-get install openjdk-11-jdk

2. 安装Jenkins

Jenkins可以通过多种方式进行安装,包括基于WAR包、Docker、以及通过系统的包管理工具进行安装。以下是基于Ubuntu系统的安装方式:

# 导入Jenkins的GPG密钥
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -# 添加Jenkins的APT仓库
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'# 更新包列表并安装Jenkins
sudo apt-get update
sudo apt-get install jenkins

3. 启动Jenkins

安装完成后,可以通过以下命令启动Jenkins服务:

sudo systemctl start jenkins

然后可以通过访问 http://<服务器IP>:8080 来访问Jenkins的Web界面。

三、Jenkins的配置

1. 初始配置

首次访问Jenkins时,需要进行一些初始配置,包括设置管理员密码、安装插件等。按照网页提示完成初始设置后,即可进入Jenkins的主界面。

2. 全局工具配置

在Jenkins中,需要对一些全局工具进行配置,如JDK、Maven等。可以通过以下步骤进行配置:

  • 进入Jenkins主界面,点击“系统管理”->“全局工具配置”。
  • 在“JDK”部分,添加JDK的安装路径。
  • 在“Maven”部分,添加Maven的安装路径。

3. 插件安装

Jenkins的强大之处在于它拥有丰富的插件生态。可以根据项目的需求安装相应的插件。例如,如果项目使用Git进行版本控制,则需要安装Git插件。

四、Jenkins的使用

1. 创建新任务

在Jenkins中,可以通过创建任务来进行项目的构建和部署。创建任务的步骤如下:

  • 在Jenkins主界面,点击“新建任务”。
  • 输入任务名称,选择任务类型(如自由风格项目、流水线等)。
  • 点击“确定”,进入任务配置页面。

2. 配置任务

在任务配置页面,可以对任务进行详细配置,包括源码管理、构建触发器、构建步骤等。例如,可以配置任务从Git仓库拉取代码,设置定时触发构建,以及指定构建命令等。

3. 触发构建

配置完成后,可以通过点击“立即构建”来手动触发构建任务。也可以通过设置构建触发器来自动触发构建,如定时触发、代码提交后触发等。

4. 查看构建结果

构建完成后,可以在任务页面的“构建历史”中查看构建结果。如果构建失败,可以根据构建日志中的错误信息进行排查和修复。

五、Jenkins的高级功能

1. 分布式构建

Jenkins支持分布式构建,可以通过设置代理节点(Slave)来实现分布式构建。这可以提高构建的效率和吞吐量。

2. 流水线(Pipeline)

Jenkins的流水线功能提供了更灵活和强大的构建方式。可以通过编写Pipeline脚本来定义整个构建流程,包括构建、测试、部署等多个阶段。

3. 插件开发

Jenkins的插件系统使得用户可以根据自己的需求开发和扩展Jenkins的功能。插件开发需要一定的Java开发经验。

六、通俗讲解

1. 为什么需要Jenkins?

想象一下,你是一个厨师,每次做菜都需要手动准备食材、切菜、炒菜、装盘。如果你每天都要做很多菜,这样手动操作会非常耗时且容易出错。Jenkins就像是一个自动化的厨房助手,它可以帮助你自动完成这些重复性的工作,让你只需要关注最重要的部分——调料和火候。

2. Jenkins如何工作?

Jenkins的工作原理其实很简单。它就像是一个自动化的流水线,只要你把任务(比如构建、测试、部署)配置好,它就会按照你设定的规则自动执行。你可以把它想象成一个自动化的工厂,只要把原材料(代码)放进去,它就能自动帮你把产品(可运行的软件)生产出来。

3. Jenkins的使用场景

Jenkins可以应用在很多场景中。比如,你可以用它来自动构建和测试你的代码,确保每次提交的代码都是可用的;你也可以用它来自动部署你的应用,让新版本的软件能够快速上线;甚至可以用它来自动执行一些定期的任务,比如数据备份、日志分析等。

七、总结

Jenkins作为一款开源的自动化服务器,具有强大的功能和丰富的插件生态。通过学习Jenkins,可以有效地提高软件开发和交付的效率和质量。希望本篇学习笔记能够对大家有所帮助。


在这里插入图片描述


http://www.ppmy.cn/server/174330.html

相关文章

Qt状态更新设计

在动平衡仪的使用过程中&#xff0c;配置参数的动态切换&#xff08;如切换传感器通道、切换单位&#xff09;需要实时反映在界面显示和计算方法上。为了实现这种动态响应&#xff0c;可以采用 观察者模式&#xff08;Observer Pattern&#xff09; 和 事件驱动架构&#xff08…

【Go语言圣经1.1】

目标 学习Go 的编译方式、包的组织方式以及工具链的统一调用方式 概念与定义 package Go 语言通过包来组织代码。包类似于其它语言的库librarries或模块modules&#xff0c;每个包通常对应一个目录&#xff0c;目录中的所有 .go 文件都属于同一个包。特殊的 main 包 : 当代码…

基于数据挖掘的疾病数据可视化分析与预测系统

【大数据】基于数据挖掘的疾病数据可视化分析与预测系统&#xff08;完整系统源码开发笔记详细部署教程&#xff09;✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 &#x1f4cc; 技术核爆点&#xff1a;✔️ Python全栈开发Flask高能框架 ✔️ 爬虫技术…

请问期权是T+0交易吗?

财顺小编本文主要介绍请问期权是T0交易吗&#xff1f;是的&#xff0c;国内上市的期权品种&#xff08;如股票ETF期权、股指期权等&#xff09;均支持T0交易&#xff0c;即当日买入的合约可以当日卖出&#xff0c;且日内交易次数无限制。 请问期权是T0交易吗&#xff1f; 一、…

MySQL-储存引擎

目录 MySQL体系结构 存储引擎简介 InnoDB 介绍 特点 文件 MyISAM 介绍 特点 文件 Memory 介绍 特点 文件 选择 小结 MySQL体系结构 MySQL的系统体系结构一般来说分为一下几层&#xff1a; 连接层服务层引擎层储存层 存储引擎简介 存储引擎是储存数据&…

双击PPT文件界面灰色不可用,需要再次打开该PPT文件才能正常打开

双击PPT文件界面灰色不可用&#xff0c;需要再次打开该PPT文件才能正常打开 1. 软件环境⚙️2. 问题描述&#x1f50d;3. 解决方法&#x1f421;解决步骤 4. 结果预览&#x1f914; 1. 软件环境⚙️ Windows10 或 Windows11 专业版64位&#xff0c;安装MotionGo软件&#xff08…

【前端】BOM DOM

两天更新完毕&#xff0c;建议关注收藏点赞 友情链接&#xff1a; HTML&CSS&LESS&Bootstrap&Emmet Axios & AJAX & Fetch BOM DOM 待整理 js2 Web API 是浏览器提供的一套操作浏览器功能和页面元素的 API ( BOM 和 DOM)。官方文档点击跳转 目录 BOMDOM…

再聊 Flutter Riverpod ,注解模式下的 Riverpod 有什么特别之处,还有发展方向

三年前我们通过 《Flutter Riverpod 全面深入解析》 深入理解了 riverpod 的内部实现&#xff0c;而时隔三年之后&#xff0c;如今Riverpod 的主流模式已经是注解&#xff0c;那今天就让我们来聊聊 riverpod 的注解有什么特殊之处。 前言 在此之前&#xff0c;我们需要先回忆…