当前位置: 首页 > news >正文

Jenkins安装 Linux 更换镜像 安装插件

Jenkins安装 Linux 更换镜像 安装插件

前言

下面叙述了三种jenkins安装的方式,jenkins安装之前必须有java环境因为他是java写的…

  • yum安装只能安装最新版本的jenkins,但是jenkins是java写的所以他强依赖java版本,当你的服务器的java版本与jenkins版本冲突时还需要给jenkins重新指定新的java版本,如何单独给jenkins指定java版本看结尾
  • war安装 - 简单,可以自定义你想要的jenkins版本,避免java与jenkins的版本冲突问题,因为最新jenkins只支持java11和java17
  • docker安装 - 容器安装,就不多叙述了就主打一个方便,但是数据存储还是容器化技术的通病只能使用挂载进行备份防止容器损坏的时候不会导致数据丢失无法找回的后果.
    大家根据对应情况选择对应安装方式

方式一 : yum安装

无法指定安装版本,安装的都是最新版本,如果你的jdk小于11,谨慎使用!

下载jenkins yum包

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo

注意:如果出现cannot verify pkg.jenkins.io’s certificate, issued by ‘/C=US/O=Let’s Encryp 该错误则需要安装ca-certificates

yum install -y ca-certificates

导入密钥,如果你之前使用yum安装过jenkins时导入过密钥,那导入密钥这一步可能会报错,因为你已经有密钥了,忽略该错误即可

sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key

安装jenkins

yum install jenkins

启动jenkins

systemctl start jenkins

浏览器访问 ip:8080即可,如果访问不到可以尝试关闭防火墙,阿里云服务器记得安全组放开8080端口

systemctl stop firewalld

yum卸载jenkins

yum remove jenkins
rm -rf /etc/sysconfig/jenkins.rpmsave
rm -rf /var/cache/jenkins/
rm -rf /etc/init.d/jenkins.rpmsave
使用yum安装如何给jenkins单独指定java版本

当你希望使用的jenkins版本和当前服务器java版本冲突时,你可以下载一个支持的java版本,然后去修改jenkins读取java目录的路径,就可以达到jenkins单独使用一个java版本,而不会影响你的服务器以及项目的java版本了.例如:你项目使用的jdk8,而你yum安装的jenkins版本需要jdk11,那你只需要下载一个jdk11放到一个目录里面(不需要配置环境变量也不要在/usr/bin下创建软连接),然后修改jenkins读取java配置的参数,修改成你java11存放的目录,那jenkins启动的时候就会去找你配置的java11目录,而不会去读取系统的java8了!

1.下载当前jenkins支持的jdk版本包,使用xftp传入服务器,然后解压并记录存放路径

解压命令
tar -zxvf {jdk包路径}

2.修改jenkins启动使用的jdk路径

cd /etc/init.d
vim jenkins #新增对应版本jdk的路径如下图

在这里插入图片描述

vim /usr/lib/systemd/system/jenkins.service

在这里插入图片描述

修改为,/usr/java/jdk-17.0.4 改成你自己的java路径

在这里插入图片描述

刷新配置文件

systemctl daemon-reload
systemctl enable jenkins

这样子jenkins去可以使用指定的java版本去启动了

方式二 : war包启动

1.下载jenkins.war包

去官方下载自己想要的版本的war包 : https://get.jenkins.io/war-stable/ , 切记注意看与jdk的版本对应

在这里插入图片描述

也就是说2.361.1后续的版本就不在支持java8了,如果要使用的jenkins版本和当前项目jdk版本不兼容的话,也是有解决方案的-结尾附赠

https://www.aliyundrive.com/drive/file/backup/65fa7a117ea56160d4674aa39175e8ca625d26b5

2.上传war包

新建一个文件夹,将下载下来的war包使用ftp工具上传到该文件夹中

mkdir /usr/jenkins

在这里插入图片描述

进入war包存放所在目录

cd /usr/jenkins

后台启动jenkins,并把日志输入到当前目录的jenkins.log里面

nohup java -jar jenkins.war > jenkins.log &
netstat -tunlp | grep 8080

解除防火墙或者放开8080端口并访问jenkins

systemctl stop firewalld
ip:8080

阿里云服务器记得去安全组放开8080端口

3. 卸载删除

卸载jenkins(删除/root/.jenkins目录)

动态业务编排, 如果编排出来的规则, 我们自己的系统调用的话 是以api请求方式调用吗?

但是这个规则引擎如果编排业务需要有我们自己系统的部分业务的话, 怎么调用我们自己的系统的业务?

方式三 : docker安装

前提需要安装docker环境,可以看该文章 - linux如何安装docker环境

拉取docker容器并启动

docker run --name jenkins -d -u root -p 8080:8080 -p 50000:50000 -v /usr/jenkins/:/var/jenkins_home/ jenkins/jenkins
  • -d 后台运行
  • -p 端口映射 宿主机端口:docker容器内端口
  • -v 挂载,也可以理解为备份,将将容器中jenkins的数据和配置都挂载一份到宿主机上, 宿主机目录:docker容器内目录,宿主机目录可以自定义
    查看jenkins日志,可以看见管理员密码,就不需要进入容器然后去指定文件夹中查看了
docker logs -tf --tail 600 [容器id]

管理员密码

在这里插入图片描述

解除防火墙或者放开8080端口并访问jenkins

systemctl stop firewalld
ip:8080

阿里云服务器记得去安全组放开8080端口

Jenkins重启

url上 后拼接 /restart

http://192.168.124.206:8080/restart

服务器 kill后重启

安装后界面引导

访问jenkins

浏览器访问 http://ip:8080

在这里插入图片描述

输入完后,会提示选择安装插件,这里不选择安装任何插件,因为安装源在国外的网站,速度是十分慢还可能失败,后面我们自己会配置安装插件的源

在这里插入图片描述

在这里插入图片描述

接下来是创建管理员用户,后面几个步骤很简单,一直点下一步即可

在这里插入图片描述

最后会跳转到首页

在这里插入图片描述

下一步更换镜像源

安装中文插件

如果没有汉化版,接下来我们搜索一个中文的插件,勾上,然后安装

Jenkins->Manage Jenkins->Manage Plugins->Available

在这里插入图片描述

安装完重启一下jenkins

在这里插入图片描述

更换镜像源

直接用清华镜像源https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/,比如我们要找Jenkins2.346对应版本

在这里插入图片描述

在这里插入图片描述

# 第一步
- Jenkins->Manage Jenkins->Manage Plugins->Advanced
- 滑倒最下面
- 将 `Update Site` 修改为https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/dynamic-2.346/update-center.json
- 点击提交
# 第二步
- 打开服务器
- 进入文件夹  cd /root/.jenkins/updates/
- 备份该文件 cp default.json default.json.bak
- 在同目录下载该清华源文件update-center.json,并修改文件名为default.json
# 下载
wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/dynamic-2.346/update-center.json# 改名
mv update-center.json default.json

最后重启Jenkins,发现插件更新的地方,没有再提示更高版本的插件,都是适合当前Jenkins版本的插件。

问题

Jenkins (xxx) or higher required

在jenkins的插件市场中的插件,都是最新版本的,可能会和当前的jenkins版本或插件冲突

需要jenkins升级或者插件安装低版本

安装指定版本插件
- 在这里选择需要安装插件的对应版本:  http://updates.jenkins-ci.org/download/plugins/
- 点击下载plugin到本地
- 打开Jenkins,Manage Jenkins --> Manage Plugins --> Advanced,
- 选择本地下载好的plugin,上传后重启Jenkins即可。 

在这里插入图片描述

在这里插入图片描述

相关文章:

Jenkins安装 Linux 更换镜像 安装插件

Jenkins安装 Linux 更换镜像 安装插件 前言 下面叙述了三种jenkins安装的方式,jenkins安装之前必须有java环境因为他是java写的… yum安装只能安装最新版本的jenkins,但是jenkins是java写的所以他强依赖java版本,当你的服务器的java版本与jenkins版本冲突时还需要给jenkins重…...

(一)基于IDEA的JAVA基础1

Java是一门面向对象的编程语言,不仅吸收了C语言的各种优点,还摒弃了C里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论&#xff0…...

FPGA开源项目分享——基于FPGA加速的热扩散模拟器

导语 今天继续分享康奈尔大学FPGA课程ECE 5760的典型案例——基于FPGA加速的热扩散模拟器。 (更多其他案例请参考网站: Final Projects ECE 5760) 1. 项目概述 项目网址 https://people.ece.cornell.edu/land/courses/ece5760/FinalProje…...

【ARM 嵌入式 C 入门及渐进 12 --寄存器位清0和置位函数实现】

文章目录 寄存器位清0和置位函数实现示例使用方式注意事项 寄存器位清0和置位函数实现 在 C 语言中,可以使用宏定义来创建用于清除(清零)或设置(置一)32位地址中特定位的函数。以下是两个宏定义的示例: #…...

Java实现10万,并发去重,优雅地处理重复请求!

对于一些用户请求,在某些情况下是可能重复发送的,如果是查询类操作并无大碍,但其中有些是涉及写入操作的,一旦重复了,可能会导致很严重的后果,例如交易的接口如果重复请求可能会重复下单。 重复的场景有可…...

《深入解析 C#》—— C# 3 部分

文章目录 第三章 C#3:LINQ及相关特性3.1 自动实现属性(*)3.2 隐式类型 var(*)3.3 对象和集合初始化3.3.1 对象初始化器3.3.2 集合初始化器 3.4 匿名类型3.4.1 基本语法和行为3.4.2 编译器生成类型3.4.3 匿名类型的局限…...

Redis 的5种数据类型的基本命令

目录 String的基本命令 1. SET 2. GET 3. GETSET 4. STRLEN 5. APPEND 6. SETRANGE 7. GETRANGE 8. SETEX 9. SETNX 10. MSET 11. MGET 12. INCR 13. DECR 14. INCRBY 15. DECRBY 16. INCRBYFLOAT Map的基本命令 1. HSET 2. HGET 3. HMSET 4. HMGET 5. …...

【Liunx-后端开发软件安装】Liunx安装nginx

【Liunx-后端开发软件安装】Liunx安装nginx 使用安装包安装 一、简介 nginx,这个家伙可不是你厨房里的那位大厨,它可是互联网世界的“煎饼果子摊主”。想象一下,在熙熙攘攘的网络大街上,nginx挥舞着它的锅铲——哦不,是…...

力扣Lc20--- 202.快乐数(java版)-2024年3月20日

1.题目 2.知识点 (1)while (seen.contains(n) false) { // 循环体 } 与 !seen.contains(n) 等同 (2) 当传入数字 19 给 isHappy(19) 方法时,下面是每一行代码的执行过程: 初始化一个空的 HashSet&#…...

机器学习----交叉熵(Cross Entropy)如何做损失函数

目录 一.概念引入 1.损失函数 2.均值平方差损失函数 3.交叉熵损失函数 3.1信息量 3.2信息熵 3.3相对熵 二.交叉熵损失函数的原理及推导过程 表达式 二分类 联立 取对数 补充 三.交叉熵函数的代码实现 一.概念引入 1.损失函数 损失函数是指一种将一个事件&#x…...

Linux docker3--数据卷-nginx配置示例

一、因为docker部署服务都是以最小的代价部署,所以通常在容器内部很多依赖和命令无法执行。进入容器修改配置的操作也比较麻烦。本例介绍的数据卷作用就是将容器内的配置和宿主机文件打通,之后修改宿主机的配置文件就相当于修改了docker进程的配置文件&a…...

力扣454. 四数相加 II

思路:把四个数组拆成两对,两个分别相加,记录第一对的相加结果进map里,再把第二对数组 0-nums2-nums4 去map里面找出现了几次,这题不用对重复的四元组去重,所以出现多次都有效。 class Solution {public int…...

vulnstack1 渗透分析 红日靶场(一)

环境搭建 ip段设置 kali (coleak):192.168.145.139 Windows 7 (stu1):192.168.10.181、192.168.145.140 Winserver 2008 (owa):192.168.10.180 Win2k3 (root-tvi862ubeh):192.168.10.182复制 kali可以访问win7,但不能…...

外包干了6天,技术明显进步。。。

我是一名大专生,自19年通过校招进入湖南某软件公司以来,便扎根于功能测试岗位,一晃便是近四年的光阴。今年8月,我如梦初醒,意识到长时间待在舒适的环境中,已让我变得不思进取,技术停滞不前。更令…...

比较好的知识点

2023年Java超全面试题及答案解析---https://blog.csdn.net/qq_42301302/article/details/128785274 7分钟带你细致解析4个Java算法必刷题---https://blog.csdn.net/hcxy2022/article/details/127963797 50道JAVA基础算法编程题【内含分析、程序答案】---https://blog.csdn.net/…...

抖音开放平台的订单类API接口调用测试指南(内含详细步骤)

一、什么是抖音开放平台 抖音开放平台基于抖音母体,提供抖音服务基础设施和创新行业解决方案的平台。同时满足各类各类机构、创作者及服务商对于内容获取、分享的个性化需求,我们诚邀各个行业、不同阶段的合作伙伴与我们一起,共建内容良性生…...

HiveSQL一本通 - 案例实操

文章目录 0.HiveSQL一本通使用说明6.综合案例练习之基础查询6.1 环境准备创建数据表数据准备加载数据 6.2 简单查询练习1.查询姓名中带“山”的学生名单2.查询姓“王”老师的个数3.检索课程编号为“04”且分数小于60的学生的分数信息,结果按分数降序排列4.查询数学成…...

Axure RP 8中文---快速原型设计工具,一站式解决方案

Axure RP 8是一款专业的快速原型设计工具,以其直观易用的界面和丰富的功能受到广大用户的青睐。它支持用户通过拖放操作快速创建交互式原型,包括线框图、流程图等,并具备高保真度的设计能力。Axure RP 8还提供了团队协作和共享功能&#xff0…...

Available platform plugins are: minimal, offscreen, webgl, windows.

我在运行pyqt5开发的代码时,报错: This application failed to start because no Qt platform plugin could be initialized, Reinstalling the application may fix this problem. Available platform plugins are: minimal, offscreen, webgl, windows…...

创意无限,风险有度:2024愚人节海外网红营销策略解析

2024年愚人节即将到来,这个充满趣味与惊喜的节日,既是人们展示幽默与创意的舞台,也是品牌进行营销活动的绝佳时机。在这个特殊的日子里,通过海外网红营销来推广品牌或产品,无疑是一种富有创意的营销策略,但…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...

day52 ResNet18 CBAM

在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...

c++ 面试题(1)-----深度优先搜索(DFS)实现

操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...

NPOI Excel用OLE对象的形式插入文件附件以及插入图片

static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...

4. TypeScript 类型推断与类型组合

一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式,自动确定它们的类型。 这一特性减少了显式类型注解的需要,在保持类型安全的同时简化了代码。通过分析上下文和初始值,TypeSc…...