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进行数据交互。这种架构使得前端专注于用户界面和用户体验,而后端则专注于业务逻辑和数据处理。 优势 开发效率高:前后端可以并行开发,减少了开发时间。技术栈灵活…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...
屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...
零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...
html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...
HDFS分布式存储 zookeeper
hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...
Mysql8 忘记密码重置,以及问题解决
1.使用免密登录 找到配置MySQL文件,我的文件路径是/etc/mysql/my.cnf,有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...
Git常用命令完全指南:从入门到精通
Git常用命令完全指南:从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...
【C++】纯虚函数类外可以写实现吗?
1. 答案 先说答案,可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...
6个月Python学习计划 Day 16 - 面向对象编程(OOP)基础
第三周 Day 3 🎯 今日目标 理解类(class)和对象(object)的关系学会定义类的属性、方法和构造函数(init)掌握对象的创建与使用初识封装、继承和多态的基本概念(预告) &a…...
