Jenkins 的安装(详细教程)
文章目录
- 一、简介
- 二、安装前准备
- 三、windows 安装与启动
- 1. 方式一
- 2. 方式二
- 3. 方式三
- 四、创建管理员用户
- 五、常用设置
- 1. 配置镜像地址
- 2. 更改工作目录
- 3. 开启可注册用户
- 4. 全局变量配置
一、简介
官网:https://www.jenkins.io
中文文档:https://www.jenkins.io/zh/doc/
Jenkins
是一个开源的持续集成(CI)工具,用于自动化构建、测试和部署软件项目。它提供了一个易于使用和可扩展的平台,帮助团队更高效地开发和交付软件。
Jenkins
的主要特点和用途包括:
-
自动化构建:
Jenkins
可以从源代码库(如Git
、SVN
等)中获取最新的代码,并自动进行构建。它支持各种构建工具和构建脚本,如Ant、Maven、Gradle
等。 -
持续集成:
Jenkins
可以将多个开发者的代码集成到共享的主线分支中,并定期执行构建和测试。这有助于发现和解决集成问题,确保软件的稳定性和可靠性。 -
测试自动化:
Jenkins
可以与各种测试框架和工具集成,如JUnit、Selenium、JMeter
等。它可以自动执行各种测试,并生成测试报告和分析结果。 -
部署自动化:
Jenkins
可以自动化部署应用程序到目标服务器或云平台。它支持各种部署工具和配置管理工具,如Docker、Kubernetes、Ansible
等。 -
插件生态系统:
Jenkins
拥有一个强大的插件生态系统,提供了各种功能和集成选项。用户可以根据需要选择和安装插件,以扩展和定制Jenkins
的功能。
总之,Jenkins
是一个功能强大、易于使用的持续集成工具,可以帮助团队实现软件开发和交付的自动化。通过自动化构建、测试和部署过程,可以提高团队的效率、减少错误,并加速软件项目的交付。
二、安装前准备
在安装 jenkins
之前要先确保电脑上是否已配置过 Java
的环境变量,可调出命令窗口(win + R
再输入 cmd
),通过 java -version
来检验
如果没有显示 Java
的版本信息,就需要先配置 Java
环境变量,具体操作可参见:Java-环境配置(详细教程)
三、windows 安装与启动
进入 Jenkins
的 官方下载页面
LTS
是长期支持的版本,是稳定的版本
在 Windows
下 Jenkins
的安装有三种方式:
- 方式一:下载
war
包通过命令启动 - 方式二:
war
结合tomcat
进行安装 - 方式三:下载安装程序包
msi
文件
在下载安装包之前要先确定应该下载哪个版本的 Jenkins
,Jenkins
的版本依赖于 Java
的版本,可在 Jenkins-Java Support Policy 中进行查看
如果你下载的 Jenkins
版本与本地 Java
不支持,那么 Jenkins
是无法安装成功的,比如说我电脑上 JDK
的版本是 1.8.0_172
,也就是 Java 8
,那么我只能安装 2.346.1
或者该版本之前的,在 Past Releases
上可以查看到历史版本
页面如下 :
1. 方式一
jenkins
可以通过 war
的形式安装起来,war
包可以通过 java -jar
的命令或者放到 Tomcat
上启动起来
首先需要下载 Java
所支持的 jenkins
版本,我用的时 Java-8
,所以我就下载 2.332.4
的
下载完成后,在 war
包所在目录下进入 cmd 命令
,通过以下命令
java -jar jenkins.war --httpPort=8080
当看到 Jenkins is fully up and running
就表示 jenkins
已经启动完成了
下一步:跳转至 —> 创建管理员用户
2. 方式二
Tomcat 的安装(详细教程)
按照 方式一
的步骤下载 war
包,再将 war
放到 tomcat
的 wabapps
的目录下
启动 tomcat
,访问 localhost:tomcatPort/jenkins
,例如:http://localhost:8080/jenkins
下一步:跳转至 —> 创建管理员用户
3. 方式三
在 LTS
下选择 Windows
即可下载到一个 jenkins.msi
安装程序包
注意:我没有找打 Java 8
支持的 jenkins.msi
,包括一些开源的镜像站,如果用这种方式下载 Jenkins
,建议先下载一个 JDK 11
双击运行
点击 Next
选择 安装路径
,再点击 Next
选择 Run service as LocalSystem (not recommended)
,点击 Next
设置 端口号
,测试端口号是否可行,可行之后
才能点击 Next
选择 JDK
的安装路径,再点击 Next
点击 Next
点击 Install
进行安装
点击 Finish
完成安装
四、创建管理员用户
安装完成之后在游览器上访问 localhost:port
,port
是安装时设置的端口号,比如:localhost:8080
注意:不同版本的 jenkins
页面可能会有点差异
根据提示的路径就能找到存放 管理员密码
的文件 initialAdminPassword
不过此时暂时不用着急地去粘贴 管理员密码
,因为 jenkins
的服务器在国外,到安装插件步骤时会加载得比较慢
建议先去设置成国内的镜像 —> 点击跳转查看具体步骤
配置好镜像重启后再访问 localhost:port
,从本地复制密码并粘贴到指定位置
点击 继续
如果刚刚已经换成国内的镜像网址了,所以可以直接选择 安装推荐的插件
,让它自动下一些常用的插件也很快
如果没有替换成国内镜像,直接 安装推荐的插件
会比较慢,也可以点击 选择插件来安装
,再点击 无
,不安装任何插件,再点击 安装
并且成功率比较高
对应那些安装失败的插件可以 重试
再安装,有些插件会因为依赖的关系安装不上的话就 继续
也没啥影响
创建 管理员用户
之后,点击 保存并完成
点击 保存并完成
到此为止 jenkins
就安装完成了,可以点击 开始使用 jenkins
五、常用设置
1. 配置镜像地址
在 jenkins
的工作目录 .jenkins
中,找到 hudson.model.UpdateCenter.xml
文件打开
将 https://updates.jenkins.io/update-center.json
替换成国内镜像网址(需要管理员权限修改)
- 国内镜像网址:
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
- 国外镜像网址:
https://mirror.xmission.com/jenkins/updates/update-center.json
再进入到 updates
目录下,编辑 default.json
文件,将该文件中国外的地址全部替换成国内的(需要管理员权限修改)
https://www.google.com
替换成https://www.baidu.com
https://updates.jenkins.io/download
替换成https://mirrors.tuna.tsinghua.edu.cn/jenkins
修改完配置之后需要重启 jenkins
, Win + R
运行 compmgmt.msc
打开 计算机管理
界面
在 服务和应用程序
- 服务
下找到 jenkins
服务,选中右键,点击 重新启动
2. 更改工作目录
从上面安装过程可知 Jenkins
的工作目录默认在 C
盘下,而 C
盘的资源是比较珍贵的,一般情况下会尽量避免将工作目录放置 C
盘中,所以在有些情况下可能就需要更改工作目录
在 计算机管理
界面中先停止 jenkins
程序
再打开 jenkins
的安装目录,找到 jenkins.xml
文件,进行编辑
将 %ProgramData%\Jenkins\.jenkins
修改为目标目录,比如:D:\jenkins\windows\jenkins-2.440-work
重启 jenkins
即可
3. 开启可注册用户
默认情况下是不可以注册用户的,如果想要开启注册用户,以 2.440.1
的 jenkins
版本为例,在 Manage Jenkins
- Security
中选中 Security
进入到以下页面
开启 允许用户注册
,再点击 应用
和 保存
回到登录页面就能看到已经可以注册用户了
4. 全局变量配置
以 2.440.1
的 jenkins
版本为例,在 Manage Jenkins
- System Configuration
中选中 Tools
在这里就可以配置 JDK
、Ant
、Maven
等配置
参考文献:
安装 Jenkins:https://www.jenkins.io/zh/doc/book/installing/
Windows 上安装 Jenkins 教程:https://segmentfault.com/a/1190000019730287
相关文章:

Jenkins 的安装(详细教程)
文章目录 一、简介二、安装前准备三、windows 安装与启动1. 方式一2. 方式二3. 方式三 四、创建管理员用户五、常用设置1. 配置镜像地址2. 更改工作目录3. 开启可注册用户4. 全局变量配置 一、简介 官网:https://www.jenkins.io 中文文档:https://www.j…...

使用html网页播放多个视频的几种方法
前言 因为项目测试需要,我需要可以快速知道自己推流的多路视频流质量,于是我想到可以使用html网页来播放视频,实现效果极其简单,方法有好几种,以下是几种记录: 注意:测试过,VLC需要使…...

python 基础知识点(蓝桥杯python科目个人复习计划58)
今日复习内容:做题 例题1:仙境诅咒 问题描述: 在一片神秘的仙境中,有N位修仙者,他们各自在仙境中独立修炼,拥有他们独特的修炼之地和修炼之道,修炼者们彼此之间相互尊重,和平相处…...

【基于React实现共享单车管理系统】—React基础知识巩固(二)
【基于React实现共享单车管理系统】—React基础知识巩固(二) 一、React介绍 Facebook开源的一个JavaScript库React结合生态构成的一个MV*库 React的特点 Declarative(声明式编码)Component-Based(组件化编码&#…...

云桥通+跨境电商:SDWAN企业组网优化跨境网络案例
跨境电商企业在全球范围内展开业务,需构建稳定高效的网络架构以支持其电商平台运营。云桥通SDWAN企业组网技术为跨境电商提供网络连接和管理的优化,提升网络性能、可靠性和安全性。以下是一家跨境电商企业的SDWAN组网案例,详细介绍其实施情况…...

服务器有几种http强制跳转https设置方法
目前为站点安装SSL证书开启https加密访问已经是件很简单的事了,主要是免费SSL证书的普及,为大家提供了很好的基础。 Apache环境下如何http强制跳转https访问。Nginx环境下一般是通过修改“你的域名.conf”文件来实现的。 而Apache环境下通过修改.htacces…...

web坦克大战小游戏
H5小游戏源码、JS开发网页小游戏开源源码大合集。无需运行环境,解压后浏览器直接打开。有需要的订阅后,私信本人,发源码,含60+小游戏源码。如五子棋、象棋、植物大战僵尸、贪吃蛇、飞机大战、坦克大战、开心消消乐、扑鱼达人、扫雷、打地鼠、斗地主等等。 <!DOCTYPE htm…...

如何使用生成式人工智能探索视频博客的魅力?
视频博客,尤其是关于旅游的视频博客,为观众提供了一种全新的探索世界的方式。通过图像和声音的结合,观众可以身临其境地体验到旅行的乐趣和发现的喜悦。而对于内容创作者来说,旅游视频博客不仅能分享他们的旅行故事,还…...

gpt批量工具,gpt批量生成文章工具
GPT批量工具在今天的数字化时代扮演着越来越重要的角色,它们通过人工智能技术,可以自动批量生成各种类型的文章,为用户提供了便利和效率。本文将介绍5款不同的GPT批量工具,并介绍一款知名的147GPT生成工具,以及另外一款…...

Python知识汇总
重要链接: matplotlib库:matplotlib — Matplotlib 3.5.1 documentation DataFrame库:DataFrame — pandas 2.2.1 documentation (pydata.org) Python Matplotlib 实现散点图、曲线图、箱状图、柱状图示例:Python Matplotlib 实…...
WEB面试题
1.基础 Web 技术: 1.1 h5 行内元素和块级元素 行内元素不会独占一行,高度和宽度由内容决定,不能单独设置宽高, 不能设置上下的margin和padding,只能设置左右的margin和padding; …...
Android Studio 六大基本布局详解
Android应用开发中,布局是至关重要的一部分,而Android Studio作为主流的开发工具,提供了多种布局方式来灵活适应不同的界面需求。在本文中,我们将深入探讨Android Studio中的六大基本布局,旨在帮助开发者更好地理解和运…...

如何应对IT服务交付中的问题?
如何应对IT服务交付中的问题? 按需交付服务的挑战IT服务体系的复杂性恶性循环的形成学会洞察的重要性书籍简介参与方式 按需交付服务的挑战 一致性、可靠性、安全性、隐私性和成本效益的平衡:成功的按需交付服务需要满足这些要求,这需要服务…...
[Python] 缓存实用工具
cachetools 是一个 Python 库,提供了用于缓存的实用工具,包括各种缓存算法和数据结构,如 LRU(最近最少使用)缓存、TTL(时间到期)缓存等。使用 cachetools 可以轻松地在 Python 应用程序中实现缓…...

php反序列化字符逃逸
php反序列化和序列化 PHP序列化:serialize() 序列化是将变量或对象转换成字符串的过程,用于存储或传递 PHP 的值的过程中,同时不丢失其类型和结构。“序列化”是一种把对象的状态转化成字节流的机制 类似于这样的结构: O:4:&quo…...
延迟加载(Lazy Initialization)的单例模式
延迟加载(Lazy Initialization)的单例模式是一种在对象第一次被请求时才创建单例实例的设计模式。这种方法可以减少程序启动时的负载和启动时间,特别是当单例对象的创建开销较大或者在启动时不一定需要该对象时。 下面是实现延迟加载单例模式…...
C++三级专项 流感传染
时间限制:1000 内存限制:65536 有一批易感人群住在网格状的宿舍区内,宿舍区为n*n的矩阵,每个格点为一个房间,房间里可能住人,也可能空着。在第一天,有些房间里的人得了流感,以后每…...

如何用Elementor创建WordPress会员网站
在下面的文章中,我们将向您展示如何使用Elementor和MemberPress在WordPress中轻松构建会员网站。这篇文章将涵盖WordPress会员网站设置过程、会员资格和受保护内容创建、重要页面和登录表单设计、电子邮件通知管理、报告等。 目录 什么是WordPress会员网站&#x…...

【脑切片图像分割】MATLAB 图像处理 源码
1. 简单图像处理 加载图像 Brain.jpg,使用直方图和颜色分割成区域这些区域有不同的颜色。 这是一个更高级的问题,有多个解决它的方法。 例如,您可以计算具有特定数字的图像的直方图(例如 16 - 32),找到直方…...

深度学习系列61:在CPU上运行大模型
1. 快速版 1.1 llamafile https://github.com/Mozilla-Ocho/llamafile 直接下载就可以用,链接为:https://huggingface.co/jartine/llava-v1.5-7B-GGUF/resolve/main/llava-v1.5-7b-q4.llamafile?downloadtrue 启动:./llava-v1.5-7b-q4.lla…...

利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...

Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...

STM32HAL库USART源代码解析及应用
STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...

Java数组Arrays操作全攻略
Arrays类的概述 Java中的Arrays类位于java.util包中,提供了一系列静态方法用于操作数组(如排序、搜索、填充、比较等)。这些方法适用于基本类型数组和对象数组。 常用成员方法及代码示例 排序(sort) 对数组进行升序…...

数据分析六部曲?
引言 上一章我们说到了数据分析六部曲,何谓六部曲呢? 其实啊,数据分析没那么难,只要掌握了下面这六个步骤,也就是数据分析六部曲,就算你是个啥都不懂的小白,也能慢慢上手做数据分析啦。 第一…...