Jenkins环境一站式教程:从安装到配置,打造高效CI/CD流水线环境-Ubuntu 22.04.5 环境离线安装配置 Jenkins 2.479.1
文章目录
- Jenkins环境一站式教程:从安装到配置,打造高效CI/CD流水线环境-Ubuntu 22.04.5 环境离线安装配置 Jenkins 2.479.1
- 一、环境准备
- 1.1 机器规划
- 1.2 环境配置
- 1.2.1 设置主机名
- 1.2.2 停止和禁用防火墙
- 1.2.3 更新系统
- 二、安装配置Jenkins
- 2.1 安装JDK
- 2.1.1 查询JDK可以安装的版本信息
- 2.1.2 指定版本安装OpenJDK
- 2.1.3 查看JDK版本
- 2.2 添加Jenkins存储库
- 2.2.1 导入Jenkins存储库的GPG密钥
- 2.2.2 将Jenkins存储库添加到apt源列表中
- 2.2.3 获取最新的Jenkins软件包信息
- 2.3 安装 Jenkins
- 2.3.1 查询Jenkins可以安装的版本信息
- 2.3.2 指定版本安装Jenkins
- 2.3.3 更改jenkins启动文件
- 2.3.4 重启Jenkins服务
- 2.4 访问Jenkins Web界面
- 三、Jenkins使用
- 3.1 Jenkins的配置
- 3.1.1 安装常用插件
- 3.1.1.1 安装语言管理插件
- 3.1.1.2 安装"Maven Integration"
- 3.1.1.3 安装"NodeJS"插件
- 3.1.1.4 安装 "Publish over SSH" 插件
- 3.1.2 全局工具配置
- 3.1.2.1 配置JDK
- 3.1.2.2 配置Git
- 3.1.2.3 配置Maven
- 3.1.2.4 配置NodeJS
- 3.1.2.5 设置缺省语言
- 3.1.2.6 重启 Jenkins 服务
- 3.2 Jenkins的常用命令
- 3.2.1 查看 Jenkins 服务状态
- 3.2.2 停止 Jenkins 服务
- 3.2.3 启动 Jenkins 服务
- 3.2.4 重启 Jenkins 服务
Jenkins环境一站式教程:从安装到配置,打造高效CI/CD流水线环境-Ubuntu 22.04.5 环境离线安装配置 Jenkins 2.479.1
一、环境准备
1.1 机器规划
操作系统采用Ubuntu 22.04.5的版本,内核版本是5.15.0-125-generic,具体的信息如下:
| 主机名称 | IP | OS版本 | Jenkins版本 |
|---|---|---|---|
| app | 192.168.1.134 | Ubuntu 22.04.5 LTS | Jenkins 2.479.1 |
1.2 环境配置
1.2.1 设置主机名
根据机器的规划,设置主机名为app。
$ sudo hostnamectl set-hostname app && bash
1.2.2 停止和禁用防火墙
$ sudo systemctl disable --now ufw
1.2.3 更新系统
在开始安装Jenkins之前,首先需要确保系统是最新的。打开终端并执行以下命令来更新系统软件包。
$ sudo apt update
$ sudo apt upgrade
这将更新系统上的所有软件包到最新版本。
二、安装配置Jenkins
2.1 安装JDK
Jenkins是基于Java的应用程序,因此在安装Jenkins之前,需要在系统上安装Java Development Kit(JDK)。在Ubuntu 22.04上,可以使用OpenJDK来安装Java。
2.1.1 查询JDK可以安装的版本信息
$ sudo apt list -a | grep openjdk


2.1.2 指定版本安装OpenJDK
执行以下命令来安装OpenJDK 17版本。
$ sudo apt install -y fontconfig openjdk-17-jre


安装过程可能需要一些时间。
2.1.3 查看JDK版本
安装完成后,可以通过以下命令验证Java安装。
$ sudo java -version

该命令将显示已安装的Java版本信息。
2.2 添加Jenkins存储库
Jenkins提供了官方的存储库,可以将其添加到系统中以方便安装和更新。
2.2.1 导入Jenkins存储库的GPG密钥
执行以下命令导入Jenkins存储库的GPG密钥:
$ sudo wget -O /usr/share/keyrings/jenkins-keyring.asc \https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key

2.2.2 将Jenkins存储库添加到apt源列表中
接下来,执行以下命令将Jenkins存储库添加到apt源列表中。
$ echo "deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc]" \https://pkg.jenkins.io/debian-stable binary/ | sudo tee \/etc/apt/sources.list.d/jenkins.list > /dev/null

2.2.3 获取最新的Jenkins软件包信息
添加存储库后,执行以下命令以使apt获取最新的Jenkins软件包信息:
$ sudo apt update

2.3 安装 Jenkins
现在可以使用apt安装Jenkins了。
2.3.1 查询Jenkins可以安装的版本信息
$ sudo apt list -a | grep jenkins

2.3.2 指定版本安装Jenkins
执行以下命令来安装Jenkins:
$ sudo apt install -y jenkins=2.479.1

安装完成后,Jenkins服务将自动启动。
2.3.3 更改jenkins启动文件
$ sudo vim /lib/systemd/system/jenkins.service

保存退出。
2.3.4 重启Jenkins服务
$ sudo systemctl restart jenkins

2.4 访问Jenkins Web界面
Jenkins安装完成后,可以通过Web浏览器访问其管理界面。打开浏览器并输入以下URL:
http://192.168.1.134:8080

在第一次访问时,您将看到一个页面,提示您输入初始管理员密码。
执行以下命令来获取初始管理员密码:
$ sudo cat /var/lib/jenkins/secrets/initialAdminPassword

该命令将显示初始管理员密码。复制该密码并粘贴到Jenkins Web界面中,然后点击"继续"设置。

接下来,您将被要求选择安装插件的方式。您可以选择安装推荐的插件,也可以选择自定义安装。选择适当的选项并等待插件安装完成。

完成插件安装后,您将被要求创建第一个管理员用户。输入必要的详细信息,并点击"保存并完成"完成设置。




三、Jenkins使用
3.1 Jenkins的配置
安装完成后,您可以根据需要配置Jenkins。登录到Jenkins的管理界面。
3.1.1 安装常用插件
在Jenkins首页进入“Manage Jenkins”

进入 “Plugins”


3.1.1.1 安装语言管理插件

3.1.1.2 安装"Maven Integration"

3.1.1.3 安装"NodeJS"插件

3.1.1.4 安装 “Publish over SSH” 插件

3.1.2 全局工具配置

3.1.2.1 配置JDK


3.1.2.2 配置Git

3.1.2.3 配置Maven

3.1.2.4 配置NodeJS

3.1.2.5 设置缺省语言




配置已经完成!
此外,您还可以安装其他插件、创建和配置构建任务等。
3.1.2.6 重启 Jenkins 服务
$ sudo systemctl restart jenkins

3.2 Jenkins的常用命令
在安装Jenkins后,它将作为系统服务自动启动。您可以使用以下命令来管理Jenkins服务:
3.2.1 查看 Jenkins 服务状态
$ sudo systemctl status jenkins

3.2.2 停止 Jenkins 服务
$ sudo systemctl stop jenkins

3.2.3 启动 Jenkins 服务
$ sudo systemctl start jenkins

3.2.4 重启 Jenkins 服务
$ sudo systemctl restart jenkins

原文链接:https://mp.weixin.qq.com/s/NVMHVkxw_lxE6gXDmX5r_Q
👍 点赞,你的认可是我创作的动力!
⭐️ 收藏,你的青睐是我努力的方向!
✏️ 评论,你的意见是我进步的财富!

相关文章:
Jenkins环境一站式教程:从安装到配置,打造高效CI/CD流水线环境-Ubuntu 22.04.5 环境离线安装配置 Jenkins 2.479.1
文章目录 Jenkins环境一站式教程:从安装到配置,打造高效CI/CD流水线环境-Ubuntu 22.04.5 环境离线安装配置 Jenkins 2.479.1一、环境准备1.1 机器规划1.2 环境配置1.2.1 设置主机名1.2.2 停止和禁用防火墙1.2.3 更新系统 二、安装配置Jenkins2.1 安装JDK…...
【Android】ARouter源码解析
本篇文章主要讲解了 ARouter 框架的源码分析,包括其初始化过程、核心方法等。 初始化 在使用ARouter的时候我们都会先进行初始化: ARouter.init(this);我们看下 init() 源码: public static void init(Application application) {// 检查…...
计算直线的交点数
主要实现思路 整体流程思路: 程序旨在解决给定平面上不同数量的直线(无三线共点),求出每种直线数量下所有可能的交点数量,并按要求格式输出的问题。整体通过初始化一个二维数组来存储不同直线数量与交点数量对应的存在…...
STM32基于HAL库的串口接收中断触发机制和适用场景
1. HAL_UART_Receive_DMA函数 基本功能 作用:启动一个固定长度的 DMA 数据接收。特点: 需要预先指定接收数据的长度(Size 参数)。DMA 会一直工作直到接收到指定数量的数据,接收完成后触发 HAL_UART_RxCpltCallback 回…...
java面试宝典
本文只摘抄部分宝典内容,完整宝典可以在打开下方链接,在网盘获取 ^ _ ^ 链接:java面试宝典 提取码: wxy1 复制这段内容后打开百度网盘手机App,操作更方便哦 链接: java前端面试宝典 提取码: wxy1 复制这段内容后打开百度网盘手机Appÿ…...
Scala—Slice(提取子序列)方法详解
Scala—Slice(提取子序列)方法详解 在 Scala 中,slice 方法用于从集合中提取一个连续的子序列(切片)。可以应用于多种集合类型,如 List、Array、Seq 等。 一、slice 方法的定义 slice 根据提供的起始索引…...
【电子通识】案例:USB Type-C USB 3.0线缆做直通连接器TX/RX反向
【电子通识】案例:连接器接线顺序评估为什么新人总是评估不到位?-CSDN博客这个文章的后续。最近在做一个工装项目,需要用到USB Type-C线缆做连接。 此前已经做好了线序规划,结果新人做成实物后发现有的USB Type-C线缆可用,有的不行。其中发现USB3.0的TX-RX信号与自己的板卡…...
【SKFramework框架核心模块】3-5、函数扩展模块
推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享QQ群:398291828小红书小破站 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 【Unity3D框架】SKFramework框架完全教程《全…...
使用 EasyExcel 提升 Excel 处理效率
目录 前言1. EasyExcel 的优点2. EasyExcel 的功能3. 在项目中使用 EasyExcel3.1 引入依赖3.2 实体类的定义与注解3.3 工具类方法的实现3.4 在 Controller 中使用 4. 总结5. 参考地址 前言 在日常开发中,Excel 文件的处理是不可避免的一项任务,特别是在…...
【提高篇】3.7 GPIO(七,GPIO开发模型 一)
目录 一,开发模型 二,初始化函数 2.1 时钟使能 一,开发模型 通常我们在进行GPIO相关外设的开发时,往往遵循下面4个步骤,如下: 初始化函数 用于进行时钟设置、参数设置、IO设置、中断设置等。读处理函数 用于从外设读取数据。写处理函数 用于从向外设写数据。中断处理…...
Webpack Tree Shaking 技术原理及应用实战,优化代码,精简产物
前言 在前端开发中,优化代码体积和提升应用性能是至关重要的课题。Webpack 提供了多种优化手段来帮助开发者实现这一目标,Tree Shaking 就是其中一种非常重要的优化技术,它通过在编译阶段移除未被使用的代码模块,从而显著减小最终…...
angular19-官方教程学习
周日了解到angular已经更新到19了,想按官方教程学习一遍,工欲善其事必先利其器,先更新工具: 安装新版版本 卸载老的nodejs 20.10.0,安装最新的LTS版本 https://nodejs.org 最新LTS版本已经是22.12.0 C:\Program File…...
RocketMQ集群部署完整指南
前言 本文将详细介绍RocketMQ集群的部署流程,包括环境准备、安装配置、启动运维等各个方面。 一、环境准备 1.1 系统要求 64位操作系统,建议LinuxJDK 1.8及以上版本源码安装需要Maven 3.2.x1.2 下载RocketMQ 可从以下地址获取RocketMQ安装包: Apache官方开源地址: http://r…...
解决mysql 内存持续上涨问题
问题背景: 业务量不大,Mysql 内存持续上涨,虽然不是很明显,但随着时间慢慢增长,1~2个月左右内存达到80%一旦有一些执行缓慢的sql 内存会快速上去增加/修改大表的字段内存会快速上去 常规操作: Mysql 设置…...
Qt 小项目 学生管理信息系统
主要是对数据库的增删查改的操作 登录/注册界面: 主页面: 添加信息: 删除信息: 删除第一行(支持多行删除) 需求分析: 用QT实现一个学生管理信息系统,数据库为MySQL 要求…...
16-01、JVM系列之:内存与垃圾回收篇(一)
JVM系列之:内存与垃圾回收篇(一) ##本篇内容概述: 1、JVM结构 2、类加载子系统 3、运行时数据区之:PC寄存器、Java栈、本地方法栈一、JVM与JAVA体系结构 JAVA虚拟机与JAVA语言并没有必然的联系,它只是与特…...
聊聊系统的弹力设计-服务器性能指标篇(一)
一、什么是弹性机制 弹性,大家可以轻易的联想到橡胶,可伸缩性是弹性机制的一个很重要的特点,但是实际上弹性不等同于可伸缩性 弹性(Elasticity) 通常指的是系统能够自动适应负载的变化,即自动扩展和收缩资…...
MQ:kafka-消费者的三种语义
文章目录 前言(一) 创建topic(二) 生产者(三)消费者1. At-most-once Kafka Consumer2. At-least-once kafka consumer3. 使用subscribe实现Exactly-once4. 使用assign实现Exactly-once 前言 本文主要是以kafka 09的client为例子,详解kafka c…...
中国1km分辨率SSP119情景(SSP119、SSP245 SSP585),模式逐月降水量数据集(2021-2100)
目录 简介 摘要 代码 引用 网址推荐 知识星球 机器学习 干旱监测平台 中国1km分辨率SSP119情景EC-Earth3模式逐月降水量数据集(2021-2100) 简介 该数据集为中国多情景多模式逐月降水量数据,空间分辨率为0.0083333(约1km),时间为2021年1月-2100年…...
21天掌握javaweb-->第8天:前后端分离架构与Axios请求
前后端分离架构概念 前后端分离架构是一种现代Web应用开发模式,其中前端和后端分别独立开发和部署,通过API进行数据交互。这种架构使得前端专注于用户界面和用户体验,而后端则专注于业务逻辑和数据处理。 优势 开发效率高:前后端可以并行开发,减少了开发时间。技术栈灵活…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...
vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...
微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...
苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
【笔记】WSL 中 Rust 安装与测试完整记录
#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统:Ubuntu 24.04 LTS (WSL2)架构:x86_64 (GNU/Linux)Rust 版本:rustc 1.87.0 (2025-05-09)Cargo 版本:cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...
elementUI点击浏览table所选行数据查看文档
项目场景: table按照要求特定的数据变成按钮可以点击 解决方案: <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...
LLaMA-Factory 微调 Qwen2-VL 进行人脸情感识别(二)
在上一篇文章中,我们详细介绍了如何使用LLaMA-Factory框架对Qwen2-VL大模型进行微调,以实现人脸情感识别的功能。本篇文章将聚焦于微调完成后,如何调用这个模型进行人脸情感识别的具体代码实现,包括详细的步骤和注释。 模型调用步骤 环境准备:确保安装了必要的Python库。…...
