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进行数据交互。这种架构使得前端专注于用户界面和用户体验,而后端则专注于业务逻辑和数据处理。 优势 开发效率高:前后端可以并行开发,减少了开发时间。技术栈灵活…...
Vue记事本应用实现教程
文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

智慧医疗能源事业线深度画像分析(上)
引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件
今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...

Golang——6、指针和结构体
指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...
libfmt: 现代C++的格式化工具库介绍与酷炫功能
libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库,提供了高效、安全的文本格式化功能,是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全:…...

五子棋测试用例
一.项目背景 1.1 项目简介 传统棋类文化的推广 五子棋是一种古老的棋类游戏,有着深厚的文化底蕴。通过将五子棋制作成网页游戏,可以让更多的人了解和接触到这一传统棋类文化。无论是国内还是国外的玩家,都可以通过网页五子棋感受到东方棋类…...