Jenkins 环境安装与配置

news2025/1/8 19:12:52

什么是Jenkins?

Jenkins是一个开源自动化服务器,提供简单的构建和持续集成方式,能够轻松整合多个开发工具和流程。它允许开发团队自动化软件构建、测试和部署步骤,随着业务需求的变化,帮助团队快速且稳定地交付软件。在Jenkins的帮助下,我们可以减少手动操作的错误,提高软件测试的效率和质量,进一步推动开发和测试的协同工作。

Jenkins的核心功能

  • 自动化构建和测试:通过Jenkins配置触发工作流程,实现项目代码的自动构建与测试。
  • 插件支持:其丰富的插件生态系统能够扩展Jenkins的功能,支持各种编程语言、版本控制系统及构建工具。
  • 监控功能:Jenkins提供的实时反馈机制可以帮助开发团队迅速了解构建和测试情况。

为何使用Jenkins?

Jenkins的使用能够解决我们在软件开发过程中遇到的多种问题。下面是几个我们共同面临的问题及其解决方案:

  1. 构建过程复杂:许多项目在构建时可能涉及诸多步骤,而Jenkins能够将这些步骤自动化,确保一致性的同时减少人为错误。
  2. 频繁的代码更新:在敏捷开发过程中,代码更新频繁,而Jenkins能够通过持续集成及交付,让开发团队始终保持项目的最新状态。
  3. 测试效率低:手动运行测试不仅耗时,还容易出错。利用Jenkins,自动化测试的设置使得测试过程更高效,更可靠。

Jenkins的安装与配置方法

现在,我们就一起来看看如何安装与配置Jenkins。以下是具体步骤:

前期准备

在开始之前,我们需要确保已经有一个支持Java的环境。推荐安装Java JDK 8或更高版本。

1、下载并安装Java JDK

  • 前往 Oracle网站,下载所需的Java版本。
  • 安装Java并记下JDK的安装路径。

2、设置环境变量

  • 在系统的环境变量中添加JAVA_HOME,设置为JDK的安装路径。
  • PATH变量中添加%JAVA_HOME%\bin

Jenkins安装步骤

1. 下载Jenkins

我们可以通过访问Jenkins的官方网站来下载最新的WAR包或安装包。

curl -O http://mirrors.jenkins.io/war-stable/latest/jenkins.war

2. 启动Jenkins

打开命令行,定位到下载的Jenkins WAR文件所在的目录,执行以下命令:

java -jar jenkins.war 

默认情况下,Jenkins将会运行在8080端口。访问http://localhost:8080,便可看到Jenkins的初始页面。

3. 解锁Jenkins

首次运行时,Jenkins需要一个初始的解锁密钥,您可以在系统提示中找到解锁路径,通常位于~/.jenkins/secrets/initialAdminPassword。复制密钥并在Jenkins的页面中输入。

4. 安装推荐的插件

输入密钥后,Jenkins将引导您安装基础插件。选择“安装推荐插件”选项,这将帮助我们快速上手。插件安装完成后,您可以根据需要自定义选择其他插件。

5. 创建管理员用户

在安装完成后,您将被要求创建管理员用户,并配置Jenkins的URL。填写所需信息,完成后可以进入Jenkins的仪表板。

使用Jenkins的五个实用示例

示例一:构建简单的Java项目

步骤:

  1. 在安全区域,点击"新建任务"。
  2. 输入项目名称,选择“构建一个自由风格的软件项目”并点击“OK”。
  3. 在“源码管理”中选择Git,并输入项目的Git repo地址。
  4. 在“构建触发器”中设置定期构建或者Poll SCM(根据代码变化自动构建)。
  5. 在“构建”下,选择“添加构建步骤”中的“执行Shell”,输入构建命令:
mvn clean install
  1. 点击“保存”完成配置。

示例二:进行自动化测试

步骤:

  1. 点击新建任务,名称设置为“自动化测试”。
  2. 选择“构建一个自由风格的软件项目”,点击“OK”。
  3. 在“源码管理”中填写代码仓库信息。
  4. 在“构建触发器”中选择“构建后执行”。
  5. 点击“添加构建步骤”,选择“执行Shell”,填入测试指令:
mvn test
  1. 点击“保存”以完成设置。

示例三:集成Docker容器构建

步骤:

  1. 创建新任务,点击“构建一个自由风格的软件项目”。
  2. 在“构建触发器”中选择Webhook触发。
  3. 在“构建”中选择“添加构建步骤”,选择“执行Shell”,填入以下Docker命令:
docker build -t your-image-name .
docker run your-image-name 
  1. 完成后保存设置。

Jenkins的亮点与好处

Jenkins的使用无疑带来了巨大的优势:

  • 高效协作:帮助开发、测试和运维团队紧密协作,提高了整体工作效率。
  • 高可用性:提供了一致持续的集成与交付能力,确保软件交付的高可靠性。
  • 丰富的插件生态:支持多种工具的集成,让用户根据项目需求进行自由的工具选择。

常见问题解答(FAQ)

  1. Jenkins能与哪些编程语言兼容?
    Jenkins几乎支持所有编程语言,只需通过相应的插件进行配置即可。
  2. 如何监控Jenkins的构建状态?
    Jenkins提供多种方式监控,比如通过Email通知,或者Webhook集成Slack等聊天软件。
  3. 使用Jenkins需要掌握哪些基本技能?
    熟悉版本控制工具(如Git),基本的Shell指令以及一些编程知识将帮助我们更好使用Jenkins。
  4. Jenkins支持并发构建吗?
    是的,我们可以通过配置实现多个构建任务同时运行,从而提升构建效率。

送您一份软件测试学习资料大礼包

推荐阅读

软件测试学习笔记丨Pytest配置文件
测试开发实战 | Docker+Jmeter+InfluxDB+Grafana 搭建性能监控平台
技术分享 | app自动化测试(Android)–元素定位方式与隐式等待
软件测试学习笔记丨Mitmproxy使用
软件测试学习笔记丨Chrome开发者模式
软件测试学习笔记丨Docker 安装、管理、搭建服务
软件测试学习笔记丨Postman基础使用
人工智能 | 阿里通义千问大模型
软件测试学习笔记丨接口测试与接口协议
软件测试学习笔记丨Pytest的使用

推荐学习

【霍格沃兹测试开发】7天软件测试快速入门带你从零基础/转行/小白/就业/测试用例设计实战

【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (上集)

【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (下集)

【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(上集)

【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(下集)

【霍格沃兹测试开发】精品课合集/ 自动化测试/ 性能测试/ 精准测试/ 测试左移/ 测试右移/ 人工智能测试

【霍格沃兹测试开发】腾讯/ 百度/ 阿里/ 字节测试专家技术沙龙分享合集/ 精准化测试/ 流量回放/Diff

【霍格沃兹测试开发】Pytest 用例结构/ 编写规范 / 免费分享

【霍格沃兹测试开发】JMeter 实时性能监控平台/ 数据分析展示系统Grafana/Docker 安装

【霍格沃兹测试开发】接口自动化测试的场景有哪些?为什么要做接口自动化测试?如何一键生成测试报告?

【霍格沃兹测试开发】面试技巧指导/ 测试开发能力评级/1V1 模拟面试实战/ 冲刺年薪百万!

【霍格沃兹测试开发】腾讯软件测试能力评级标准/ 要评级表格的联系我

【霍格沃兹测试开发】Pytest 与Allure2 一键生成测试报告/ 测试用例断言/ 数据驱动/ 参数化

【霍格沃兹测试开发】App 功能测试实战快速入门/adb 常用命令/adb 压力测试

【霍格沃兹测试开发】阿里/ 百度/ 腾讯/ 滴滴/ 字节/ 一线大厂面试真题讲解,卷完拿高薪Offer !

【霍格沃兹测试开发】App自动化测试零基础快速入门/Appium/自动化用例录制/参数配置

【霍格沃兹测试开发】如何用Postman 做接口测试,从入门到实战/ 接口抓包(最新最全教程)

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

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

相关文章

jenkins入门3 --执行一个小demo

1、新建视图 视图可以理解为是item的集合,这样可以将item分类。新建视频可以选择加入已有的item 2、新建item 1)输入任务名称、选择一个类型,常用的是第一个freestyle project 2)进行item相关配置,general 设置项目名字,描述,参数…

【Vue.js】监听器功能(EventListener)的实际应用【合集】

目录 🤔在实际开发过程中,我遇到了一个颇为棘手的小问题 😋解决这个小问题 问题出现的原因剖析 解决方法阐述 问题成功解决!​ 📖相关知识总结 基本概念 使用方法 实际应用场景 🤔在实际开发过程中…

【C++数据结构——线性表】顺序表的基本运算(头歌实践教学平台习题)【合集】

目录😋 任务描述 相关知识 一、线性表的基本概念 二、初始化线性表 三、销毁线性表 四、判定是否为空表 五、求线性表的长度 六、输出线性表 七、求线性表中某个数据元素值 八、按元素值查找 九、插入数据元素 十、删除数据元素 测试说明 通关代码 测…

【C++数据结构——查找】二分查找(头歌实践教学平台习题)【合集】

目录😋 任务描述 相关知识 一、根据键盘输入的一组有序数据建立顺序表 二、顺序表的输出 三、二分查找算法 测试说明 通关代码 测试结果 任务描述 本关任务:实现二分查找的算法。 相关知识 为了完成本关任务,你需要掌握: …

20250103在Ubuntu20.04.5的Android Studio 2024.2.1.12中跑通Hello World

20250103在Ubuntu20.04.5的Android Studio 2024.2.1.12中跑通Hello World 2025/1/3 14:06 百度:android studio helloworld android studio hello world kotlin helloword kotlin 串口 no run configurations added android studio no run configurations added 1、…

卸载干净 IDEA(图文讲解)

目录 1、卸载 IDEA 程序 2、注册表清理 3、残留清理 1、卸载 IDEA 程序 点击屏幕左下角 Windows 图标 -> 设置-控制面板->intellij idea 勾选第一栏 Delete IntelliJ IDEA 2022.2 caches and local history,表示同时删除 IDEA 本地缓存以及历史。 Delete I…

【HarmonyOS】鸿蒙应用实现屏幕录制详解和源码

【HarmonyOS】鸿蒙应用实现屏幕录制详解和源码 一、前言 官方文档关于屏幕录制的API和示例介绍获取简单和突兀。使用起来会让上手程度变高。所以特意开篇文章,讲解屏幕录制的使用。官方文档参见:使用AVScreenCaptureRecorder录屏写文件(ArkTS) 二、方…

我的创作纪念日——《惊变128天》

我的创作纪念日——《惊变128天》 机缘收获日常成就憧憬 机缘 时光飞逝,转眼间,我已在这条创作之路上走过了 128 天。回顾起 2024 年 8 月 29 日,我满怀忐忑与期待,撰写了第一篇技术博客《讲解LeetCode第1题:两数之和…

stm32第一次烧录或者上电运行卡死问题分析

问题描述 单片机烧录代码(刚上电)无法立即运行,必须要复位一次或多次才能运行;跟踪调试会进入HardFault_Handler中断。 问题分析 烧录配置如下图,首先排除配置问题那么该问题就比较让人头大了,理论上&am…

YOLOV8训练好的best.pt模型转best.onnx并部署成python可调用

今天这篇博文是学习大佬作品以后,执行我的需求后的总结,做了一些代码调整,就此记录一下,非常感谢大佬提供如此好的输出。 已知yolov8 训练好的模型一般是pt格式,比如best.pt,现在我期望这个模型可以转成可以…

君正T41交叉编译ffmpeg、opencv并做h264软解,利用君正SDK做h264硬件编码

目录 1 交叉编译ffmpeg----错误解决过程,不要看 1.1 下载源码 1.2 配置 1.3 编译 安装 1.3.1 报错:libavfilter/libavfilter.so: undefined reference to fminf 1.3.2 报错:error: unknown type name HEVCContext; did you mean HEVCPr…

基于ASP.NET的动漫网站

一、系统架构与技术实现 系统架构:基于ASP.NET的MVC框架构建,实现网站的层次结构,使得网站更加易于维护和扩展。 技术实现:利用ASP.NET的技术特点,如强大的后端开发能力、丰富的UI控件等,结合前端技术如HT…

「Java 数据结构全面解读」:从基础到进阶的实战指南

「Java 数据结构全面解读」:从基础到进阶的实战指南 数据结构是程序设计中的核心部分,用于组织和管理数据。Java 提供了丰富的集合框架和工具类,涵盖了常见的数据结构如数组、链表、栈、队列和树等。本文将系统性地介绍这些数据结构的概念、…

安卓NDK视觉开发——手机拍照文档边缘检测实现方法与库封装

一、项目创建 创建NDK项目有两种方式,一种从新创建整个项目,一个在创建好的项目添加NDK接口。 1.创建NDK项目 创建 一个Native C项目: 选择包名、API版本与算法交互的语言: 选择C版本: 创建完之后,可…

MATLAB仿真:基于GS算法的经大气湍流畸变涡旋光束波前校正仿真

GS算法流程 GS(Gerchberg-Saxton)相位恢复算法是一种基于傅里叶变换的最速下降算法,可以通过输出平面和输入平面上光束的光强分布计算出光束的相位分布。图1是基于GS算法的涡旋光束畸变波前校正系统框图,在该框图中,已…

【React+TypeScript+DeepSeek】穿越时空对话机

引言 在这个数字化的时代,历史学习常常给人一种距离感。教科书中的历史人物似乎永远停留在文字里,我们无法真正理解他们的思想和智慧。如何让这些伟大的历史人物"活"起来?如何让历史学习变得生动有趣?带着这些思考&…

深入刨析数据结构之排序(上)

目录 1.内部排序 1.1概述 1.2插入排序 1.2.1其他插入排序 1.2.1.1 折半插入排序 1.2.1.2 2-路插入排序 1.3希尔排序 1.4快速排序 1.4.1起泡排序 1.4.2快速排序 1.4.2.1hoare版本 1.4.2.2挖坑版本 1.4.2.3前后指针版本 1.4.2.4优化版本 1.4.2.4.1小区间插入排序优…

AIA - APLIC之三(附APLIC处理流程图)

本文属于《 RISC-V指令集基础系列教程》之一,欢迎查看其它文章。 1 APLIC复位 APLIC复位后,其所有状态都变得有效且一致,但以下情况除外: 每个中断域的domaincfg寄存器(spec第 4.5.1 节);可能是machine-level interrupt domain的MSI地址配置寄存器(spec第4.5.3 和4.5…

openwrt 清缓存命令行

一、查看缓存 : free -m 二、清缓存:echo 3 > /proc/sys/vm/drop_caches  三、详解。 释放物理页缓存 echo 1 > /proc/sys/vm/drop_caches 释放可回收的slab对象,包含inode and dentry echo 2 > /proc/sys/vm/drop_caches 同时…

Linux -- 端口号、套接字、网络字节序、sockaddr 结构体

目录 什么是端口号? 什么是套接字? 网络字节序 struct sockaddr 结构体 什么是端口号? 我们日常上网的时候,主机其实是在进行两种操作: 1、把远端的数据拉取到本地,比如刷抖音的时候,手机向…