Linux - 安装 Jenkins(详细教程)
目录
- 前言
- 一、简介
- 二、安装前准备
- 三、下载与安装
- 四、配置镜像地址
- 五、启动与关闭
- 六、常用插件的安装
前言
虽然说网上有很多关于 Jenkins
安装的教程,但是大部分都不够详细,或者是需要搭配 docker
或者 k8s
等进行安装,对于新手小白而已,学习的成本确实有点大,所以该篇博客就是使用最原始的方式进行 Jenkins
的安装
一、简介
官网:https://www.jenkins.io
中文文档:https://www.jenkins.io/zh/
Jenkins
是一个开源的持续集成(CI)工具,用于自动化构建、测试和部署软件项目。它提供了一个易于使用和可扩展的平台,帮助团队更高效地开发和交付软件。
二、安装前准备
从 Jenkins 的入门指南 中可以了解到
Jenkins
对机器的要求是至少要 256 MB
的内存,还需要安装 Java
可以 java -version
命令来检查是否已经安装了 Java
,如果有打印出 Java
的版本信息则表示已经安装过了
如何在 Linux
上安装 Java
,具体步骤可参见博客:Linux - java 环境配置
假如你需要像我一样使用 Jenkins
在 Linux
上构建 Java
项目,可先安装一下 maven
,可参考博客:Linux - 安装 maven(详细教程)
在 Linux
上安装 Jenkins
非常简单,如果只是为了学习没必要非得使用 docker
,和在 Windows
上用 war
包进行安装差不多,因为 war
是跨平台的,只需要系统上安装了 Java
,均可以 java -jar
的命令运行起来
三、下载与安装
进入 Jenkins
的 官方下载页面
LTS
是长期支持的版本,是稳定的版本
在下载安装包之前要先确定应该下载哪个版本的 Jenkins
,Jenkins
的版本依赖于 Java
的版本,可在 Jenkins-Java Support Policy 中进行查看
如果你下载的 Jenkins
版本与本地 Java
不支持,那么 Jenkins
是无法安装成功的,比如说我服务器上 JDK
的版本是 1.8.0_311
,也就是 Java 8
,那么我只能安装 2.346.1
或者该版本之前的,在 Past Releases
上可以查看到历史版本
注意:不过还是建议大家去安装 JDK-21
,直接下载最新版本的 Jenkins
,要不然插件安装会比较麻烦
页面如下 :
比如我要下载 2.346.1
版本的,就下载该版本的 jenkins.war
文件
下载完成之后就把该 war
包上传至服务器
这里我会先在服务器上创建一个 /soft/jenkins
的文件夹用于存放 jenkins
的安装包,并进入到该目录下
# 创建 /soft/jenkins 文件夹
mkdir /soft/jenkins
# 进入到 /soft/jenkins 文件夹下
cd /soft/jenkins
使用 rz
命令将下载好的安装包上传到该目录下
可以用 ls
命令查看是否上传成功
上传成功之后就可以直接用 java -jar
命令启动起来,可以通过 httpPort
来指定端口号
java -jar jenkins.war --httpPort=8080
首次启动会比较慢,因为需要初始化和存放一些文件到 .jenkins
的目录下
在启动过程中会打印出 管理员账户密码
这个时候就可以去游览器上访问下 ip:port
,ip
是服务器的 ip
地址,port
是启动 jenkins
的端口,比如:192.163.10.12:8080
,如果你用的是 云服务器
,可别忘了在云服务器上开放该端口号
在游览器上展示页面如下,就可以进行初始化了
将 管理员账户密码
复制到对应的地方,点击 继续
这里建议点击 选择插件来安装
,在点击 无
,不安装任何插件,再点击 安装
,因为我们没有配置镜像,安装插件是从外网下载
过来的,会比较慢,并且下载的插件可能会出现不兼容等状况,导致失败率很高
进入到创建管理员页面,填写账户信息后 保存并完成
进入以下页面配置 jenkins
的 url
,一般使用默认的就行了,保存并完成
初始化完成
可以点击 开始使用 Jenkins
直接登录进入 Jenkins
四、配置镜像地址
之前启动 Jenkins
时会打印出管理员账户密码所在文件,例如:/root/.jenkins/secrets/initialAdminPassword
,/root/.jenkins
就是 jenkins
的工作目录,在 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
五、启动与关闭
1. 启动
前文是有用到 java -jar
的命令启动了 Jenkins
,这里简单总结以下:
- 前台启动
#特点:当前ssh窗口被锁定,可按 CTRL+C 打断程序运行,或直接关闭窗口,程序退出
java -jar jenkins.war --httpPort=8080#特定:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行
java -jar jenkins.war --httpPort=8080 &
- 后台启动
# nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行
# 当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到 nohup.out 的文件中
nohup java -jar jenkins.war --httpPort=8080 &# 这种方法会把日志文件输入到你指定的文件 jenkins.log 中,没有则会自动创建
nohup java -jar jenkins.war --httpPort=8080 >jenkins.log &
如果用的是云服务器,直接后台启动就行了,即使关闭终端,程序依然可以运行
2. 关闭
可以先查询 Jenkins
的进程
ps -ef | grep jenkins
然后再通过 kill
命令来关闭程序
# 彻底杀死进程号为 pid 的进程
kill -9 pid
六、常用插件的安装
Jenkins
相当于一个平台,它很多的功能都是通过对应的插件去实现的,所以插件安装对于使用 Jenkins
非常的重要
在 Jenkins
中常用的插件如下:
- Folders
- OWASP Markup Formatter
- Build Timeout
- Credentials Binding
- Timestamper
- Workspace Cleanup
- Ant
- Gradle
- Pipeline
- GitHub Branch Source
- Pipeline:GitHub Groovy Libraries
- Pipeline:Stage View
- Git
- SSH Build Agents
- Matrix Authorization Strategy
- PAM Authentication
- LDAP
- Email Extension
- Mailer
- Dark Theme
- Localization: Chinese (Simplified)
下面我以安装插件 Loale
为例,演示安装插件的大概步骤
访问 Jenkins
,选择 Manage Jenkins
选择 Manage Plugins
选择 Available
搜索栏中搜索 Locale
如果下载页面没有红色的警告,点击 Download now and install after restart
就会下载最新版本的插件,安装并重启,跳转至重启后 -->
如果有类似:Warning: This plugin is built for Jenkins 2.426.2 or newer. Jenkins will refuse to load this plugin if installed.
这样的提示,就表明当前插件的版本和你所下载的 Jenkins
的版本不兼容,很大概率会安装不成功,这个时候就需要去下载兼容该 Jenkins
版本的插件
点击插件的名称,打开该插件对应的网址
点击 Releases
再点击 checksums
,就可以看到插件对应的版本了
比如说我下载的 Jenkins
版本是 2.346.1
,那我下载 180.v207501dff9b_a_
,点击即可
插件下载完成
回到 Jenkins
中,点击 Advanced
下拉找到 Deploy Plugin
,这里可以上传本地下载好的插件,上传完之后点击 Deploy
就会开始安装该插件
可以在 Installed
中看到刚刚手动安装的插件了
接着就重启 Jenkins
使该插件生效
重启方法:在 URL
的后面加上 restart
,例如:http://localhost:8080/restart
点击 Yes
即可重启
重启完成,再次登录并选择 Manage Jenkins
选择 Configure System
找到 Locale
选项,输入 zh_CN
勾选下面的选项,点击 Apply
和 save
如果以上方法已经生效了,表明汉化插件已经安装完成,如果没有生效,则还需要安装一个汉化包
搜索插件 Localization: Chinese
按照上述方式进行安装重启
重启之后可以看到汉化完成
相关文章:

Linux - 安装 Jenkins(详细教程)
目录 前言一、简介二、安装前准备三、下载与安装四、配置镜像地址五、启动与关闭六、常用插件的安装 前言 虽然说网上有很多关于 Jenkins 安装的教程,但是大部分都不够详细,或者是需要搭配 docker 或者 k8s 等进行安装,对于新手小白而已&…...

【JAVA】JAVA方法的学习和创造
🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法|MySQL| 💫个人格言:“没有罗马,那就自己创造罗马~” 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不…...

Rust写一个wasm入门并在rspack和vite项目中使用(一)
rust打包wasm文档 文档地址 安装cargo-generate cargo install cargo-generate 安装过程中有问题的话手动安装cargo-generate下载地址 根据自己的系统下载压缩包,然后解压到用户/.cargo/bind目录下,将解压后的文件放到该目录下即可。 创建wasm项目 …...
HTTP和HTTPS的区别,HTTPS加密原理是?
HTTP和HTTPS都是网络传输协议,主要用于浏览器和服务器之间的数据传输,但它们在数据传输的安全性、加密方式、端口等方面有所不同。 数据传输的安全性:HTTP是明文传输,数据不加密,容易被黑客窃听、篡改或者伪造&#x…...

基于Spring Boot+Vue的校园二手交易平台
目录 一、 绪论1.1 开发背景1.2 系统开发平台1.3 系统开发环境 二、需求分析2.1 问题分析2.2 系统可行性分析2.2.1 技术可行性2.2.2 操作可行性 2.3 系统需求分析2.3.1 学生功能需求2.3.2 管理员功能需求2.3.3游客功能需求 三、系统设计3.1 功能结构图3.2 E-R模型3.3 数据库设计…...
什么是软件开发?软件开发阶段划分是什么?并以LabVIEW为例进行说明
软件开发是一种创建、设计、编码、测试和维护应用程序、框架或其他软件组件的过程。它涉及从理解需求到设计、实现、测试、部署和最终维护的全过程。软件开发可以用来创建新的软件应用、系统软件、游戏、或开发网络应用等。 软件开发过程通常可以分为以下几个阶段:…...

PTAL1-006 连续因子
c语言中的小小白-CSDN博客c语言中的小小白关注算法,c,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 给大家分享一句我很喜欢我话: 知不足而奋进,望远山而前行&am…...

【Java】容器|Set、List、Map及常用API
目录 一、概述 二、List 1、List的常用API 2、ArrayList 3、List遍历 三、Set 1、Set的常用方法: 2、HashSet 3、遍历集合: 四、Map 1、Map常用API 2、HashMap 3、遍历Map 五、迭代器 一、概述 在Java中所有的容器都属于Collection接口下的内容 1…...

Navicat 面试题及答案整理,最新面试题
Navicat 在数据库管理中的主要用途有哪些? Navicat 是一款数据库管理工具,其主要用途包括: 1、多数据库支持: Navicat 支持多种数据库连接,包括 MySQL、Oracle、PostgreSQL、SQLite、SQL Server 等,方便用…...

android studio 连接mumu模拟器调试
1、打开mumu模拟器 2、在Android Studio 中 控制台 cd 到 sdk 目录下 platform-tools 文件夹,有一个adb.exe 可运行程序 一般指令: adb connect 127.0.0.1:7555 但是这个执行在window环境下可能会报错 解决方法是在 adb 之前加 ".\", 问题…...

四连通与八连通的区别 -- 图例讲解
概念 四连通区域:指从某个点出发,只能通过上、下、左、右四个方向的运动到达区域内的其他点,且不能跨越区域的边界。 八连通区域:除了上、下、左、右四个方向,还可以沿对角线方向(左上、右上、左下、右下…...

关于分布式微服务数据源加密配置以及取巧方案(含自定义加密配置)
文章目录 前言Spring Cloud 第一代1、创建config server项目并加入加解密key2、启动项目,进行数据加密3、实际项目中的测试server Spring Cloud Alibaba低版本架构不支持,取巧实现无加密配置,联调环境问题加密数据源配置原理探究自定义加密解…...

快速了解JavaScript
1.1 javaScript 历史 创始人 布兰登 艾奇 生于1961年 在1995设计LiveScript后改名为JavaScript 1.2 javaScript 是什么类型的语言 JavaScript是一种在客户端运行的脚本语言(不需要编译,由js引擎逐行解释执行) 1.3 JavaScript可以做什么 …...

【安全类书籍-3】XSS跨站脚剖析与防御
目录 内容简介 作用 下载地址 内容简介 这本书涵盖以下几点: XSS攻击原理:解释XSS是如何利用Web应用未能有效过滤用户输入的缺陷,将恶意脚本注入到网页中,当其他用户访问时被执行,实现攻击者的目的,例如窃取用户会话凭证、实施钓鱼攻击等。 XSS分类:分为存储型XSS(…...
http postman
地址 : https://oaqas.lingyiitech.com:9800/auth-api/openapi/dingtalk-oa/topapi/message/corpconversation/asyncsend_v2?token40216bf0ceea8e56b778d537b20f5d23 https://oaqas.lingyiitech.com:9800/auth-api/openapi/dingtalk-oa/topapi/message/corpconve…...
[数据集][目标检测]螺丝螺母检测数据集VOC+YOLO格式2100张13类别
数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):2100 标注数量(xml文件个数):2100 标注数量(txt文件个数):2100 标注…...
华为鲲鹏ARM处理器920、916系列
鲲鹏处理器-鲲鹏社区 (hikunpeng.com) 产品规格 鲲鹏920系列 型号: 7260(64核)、5250(48核)、5220(32核)、3210(24核)7260核数64核 主频2.6GHz 内存通道8TDP功耗180W 组…...

AG32VF407 应用开发问答1
有工程师想用AG32VF407RGT6来做项目,同时用到CPLD和MCU,MCU中用到AD、DAC、CMP,CMP的输出内部连到CPLD上,因为第一次用。所以一起进行了一些技术交流,在此也分享给大家。 Questions1: 1、关于boot0、boot1相关的说明…...

一站式解决方案:uni-app条件编译及多环境配置,appid动态修改攻略!
前言 这篇文章主要介绍uniapp在Hbuilderx 中,通过工程化,区分不同环境、动态修改小程序appid以及自定义条件编译,解决代码发布和运行时手动切换到问题。 背景 在企业级的应用中,通常会分为,开发、联调、生产等多个环…...

从政府工作报告中的IT热词统计探计算机行业发展(二)人工智能+:3次
政府工作报告作为政府工作的全面总结和未来规划,不仅反映了国家整体的发展态势,也为各行各业提供了发展的指引和参考。随着信息技术的快速发展,计算机行业已经成为推动经济社会发展的重要引擎之一。因此,从政府工作报告中探寻计算…...

shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...

【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...

Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)
引言 在人工智能飞速发展的今天,大语言模型(Large Language Models, LLMs)已成为技术领域的焦点。从智能写作到代码生成,LLM 的应用场景不断扩展,深刻改变了我们的工作和生活方式。然而,理解这些模型的内部…...
比较数据迁移后MySQL数据库和OceanBase数据仓库中的表
设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...

沙箱虚拟化技术虚拟机容器之间的关系详解
问题 沙箱、虚拟化、容器三者分开一一介绍的话我知道他们各自都是什么东西,但是如果把三者放在一起,它们之间到底什么关系?又有什么联系呢?我不是很明白!!! 就比如说: 沙箱&#…...

负载均衡器》》LVS、Nginx、HAproxy 区别
虚拟主机 先4,后7...