CentOs7.8安装原生Jenkins2.38教程

news2024/11/28 23:13:00

CentOs7.8安装Jenkins教程

      • 前提:
      • 1、下载安装包
      • 2、安装:
      • 3、检验是否安装成功:
      • 4、查询java路径
      • 5、修改配置文件
      • 6、创建jenkins用户
      • 7、给jenkins用户授权
      • 8、开放防火墙端口
      • 9、运行和其他jenkins相关命令
      • 10、异常情况
        • 10.1 提示超时,查询status一直是start(启动中)
        • 10.2 直接运行失败,status查询后提示:Failed to start jenkins Continuous Integration Server
        • 10.3 彻底卸载Jenkins
      • 11、打开网页访问
      • 12、配置密码
      • 13、安装插件
      • 14、配置用户名密码

前提:

CentOs7,安装jdk17,本文就不再介绍了,随便找个帖子就能安装,本文主要介绍疑Jenkins安装疑难杂症(非常详细)

1、下载安装包

随便找个路径,安装2.387.1版本,执行该链接会在目录下得到一个rpm的安装包

wget --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.387.1-1.1.noarch.rpm

注意,本教程只针对这个版本,因为Jenkins从10月份已经不再支持centos7,包括2.4+版本都是很难在centos7上安装的,2.2版本的安装配置方式和2.3不同,担心小版本之间也有不同,所以本文只针对2.387.1版本

如果url404失效了,说明该网站调整了,可自行访问https://mirrors.tuna.tsinghua.edu.cn/jenkins,选择尽可能相近的版本

2、安装:

yum -y localinstall jenkins-2.387.1-1.1.noarch.rpm

3、检验是否安装成功:

rpm -ql jenkins

此条命令返回的是Jenkins的一些安装信息,其中jenkins.service就是它的配置文件(区别于老版本)
在这里插入图片描述

4、查询java路径

which java

复制打印的结果,后面用到
在这里插入图片描述

5、修改配置文件

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

配置java_home
找到其中的# Environment="JAVA_HOME开头的注释,放开注释,修改值为你的java路径(主要要在bin的上一级):
在这里插入图片描述
修改运行的默认端口号,默认是8080,很容易与别的起冲突,所以我这里修改为9301
在这里插入图片描述
修改java运行源

vim /etc/init.d/jenkins

粘贴上面which java返回的结果(一定要到bin/java,java是个文件不是文件夹)
在这里插入图片描述

6、创建jenkins用户

从jenkins.service配置文件中可以看出,里面指定了jenkins的执行用户,默认是jenkins,若改成root,可能会给生产环境或者jenkins运行带来问题,所以本文这里手动创建用户
在这里插入图片描述
创建用户命令,并指定系统重要文件不可随意修改

chattr -i /etc/group;chattr -i /etc/gshadow;chattr -i /etc/passwd;chattr -i /etc/shadow
groupadd jenkins
useradd -g jenkins jenkins
chattr +i /etc/group;chattr +i /etc/gshadow;chattr +i /etc/passwd;chattr +i /etc/shadow

7、给jenkins用户授权

chown -R jenkins:jenkins /var/lib/jenkins
chown -R jenkins:jenkins /var/cache/jenkins
chown -R jenkins:jenkins /var/log/jenkins

8、开放防火墙端口

firewall-cmd --zone=public --add-port=你之前配置的端口(本文的9301)/tcp --permanent
firewall-cmd --reload

如果是阿里云服务器,需要配置安全组9301->0.0.0.0/0

9、运行和其他jenkins相关命令

# 启动
systemctl start jenkins
# 停止
systemctl stop jenkins
# 查看状态
systemctl status jenkins
# 刷新配置(每次配置文件修改后都需要执行这个才能生效,否则运行时会报错)
systemctl daemon-reload
# 查询jenkins运行日志,执行后通过长按上下键查询完整上下文日志,可用于启动报错的排查
journalctl -xe
# 判断jenkins是否运行成功
netstat -tunlp |grep 输入配置的运行端口

运行后如下图所示就代表成功了
在这里插入图片描述

10、异常情况

异常情况有很多,我把我遇到的坑列出来,但还是得靠各位的查日志排错能力。

10.1 提示超时,查询status一直是start(启动中)
Job for jenkins.service failed because a timeout was exceeded.

若观察journalctl -xe发现有java.lang.RuntimeException: Fontconfig head is null, check your fonts or fonts configuration,可以尝试执行,之后再stop、start即可

yum install -y fontconfig

还有一种可能性是用户没有第7步那几个文件夹的权限

10.2 直接运行失败,status查询后提示:Failed to start jenkins Continuous Integration Server

原因1:
jenkins.service配置文件中,java_home没配对,再仔细阅读我上面写的
原因2:
Linux安装的jdk版本过低,我用的jdk17是没问题的

10.3 彻底卸载Jenkins

有些时候可能哪里错乱了,想重装一下,可以执行此命令彻底卸载

rpm -e jenkins
find / -iname jenkins | xargs -n 1000 rm -rf

卸载完可再执行第3步的命令,若提示未安装证明卸载完成

11、打开网页访问

浏览器访问你的IP和你配置的端口(本文是9301),看到如下画面证明你成功了一大步了,后面都是傻瓜式操作

http://xx.xxx.xxx.xxx:9301

在这里插入图片描述

12、配置密码

第一次进入会要求输入密码,而这个密码就在你服务器上

cat /var/lib/jenkins/secrets/initialAdminPassword

拷贝返回的结果至网页即可,如果输入完点继续没反应,不用惊慌,刷新页面重新点,或者换个火狐浏览器就行了

13、安装插件

下一步我选择安装推荐的插件
在这里插入图片描述
自动安装
在这里插入图片描述

14、配置用户名密码

创建你能记得住的用户名和密码
在这里插入图片描述

url就填访问路径在这里插入图片描述
看到这个页面就代表你成功了!
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1392352.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RabbitMQ常见问题之延迟消息

文章目录 一、死信交换机二、TTL1. Queue指定死信交换机并设置TTL2. 消息设置TTL 三、延迟队列1. SpringAMQP创建延迟队列2. 设置消息延迟3. 测试 一、死信交换机 当一个队列中的消息满足下列情况之一时,可以成为死信(dead letter)&#xff…

回馈科教,非凸科技助力第48届ICPC亚洲区决赛

1月12日-14日,“华为杯”第48届国际大学生程序设计竞赛(ICPC)亚洲区决赛在上海大学成功举办。非凸科技作为此次赛事的支持方之一,希望携手各方共同推动计算机科学和技术的发展。 这是一场智慧的巅峰对决,320支优秀队伍…

探索Java的神秘运行机制:揭秘整体运行流程

目录 1. 背景 2.整体流程 2.1 一看整体流程 2.1 再看运行流程 3. 类的加载过程 3.1 初探类的加载过程 4. 类加载机制 4.1 类加载器 4.2 双亲委派机制 5. 小结: 1. 背景 学习了这么多年的Java,把自己的理解写成JVM系列,以便于后面的…

openGauss学习笔记-200 openGauss 数据库运维-常见故障定位案例-表文件大小无变化

文章目录 openGauss学习笔记-200 openGauss 数据库运维-常见故障定位案例-表文件大小无变化200.1 VACUUM FULL一张表后,表文件大小无变化200.1.1 问题现象200.1.2 原因分析200.1.3 处理办法 openGauss学习笔记-200 openGauss 数据库运维-常见故障定位案例-表文件大小…

刷卡打印机,后台更换别人绑定的卡,无法生效,怎么解决?

环境: 柯美287打印机 问题描述: 刷卡打印机,后台更换别人绑定的卡,无法生效,怎么解决? 解决方案: 别人之前离职的卡刷了把他后面卡号复制好 2.搜索之前那个离职的用户,打开设置…

JavaScript 入门手册

准备好快速学习 JavaScript了吗? 如果是,那么你需要这份 JavaScript 小抄。它以清晰、简洁和初学者友好的方式介绍了 JavaScript 的基础知识。 将它作为提高 JavaScript 技能的参考或指南。 让我们深入学习。 什么是 JavaScript? JavaSc…

mPLUG-Owl2: 7B的多模态大模型

前言 语言模型:LLama2 - 7B视觉模型:Clip-L 0.3B 痛点 作者任务以往的方法(Qformer,linear层)直接将视觉编码器中的视觉特征映射到冻结的LLMs中,通过利用保留的语言能力执行多模态任务。这种策略限制了…

Springboot整合Canal 实践经验

文章目录 前言一、Canal 服务端:1.1 canal.properties:1.2 canal的监听实例: 二、canal客户端2.1 客户端配置要监听的实例:2.2 通过连接获取信息 总结 前言 本文是Springboot整合Canal 实践过程中经验记录; 一、Canal…

Linux/Networked

Enumeration nmap 网站更新之后有了一个引导模式,更利于学习了,之前看ippsec的视频,要不总是没有思路,现在出现的问题多了提示也更多了,还没有使用,一会用用再说 首先,第一个问题是“目标上正…

2 python快速上手

2 python快速上手 快速上手1.编码(密码本)2.编程初体验3.输出4. 初识数据类型4.1 整形(int)4.2 字符串(str)4.3 布尔类型(bool)4.4 类型转换 5. 变量5.1 变量名的规范5.2 变量内存指…

项目架构之Zabbix部署

1 项目架构 1.1 项目架构的组成 业务架构:客户端 → 防火墙 → 负载均衡(四层、七层) → web缓存/应用 → 业务逻辑(动态应用) → 数据缓存 → 数据持久层 运维架构:运维客户端 → 跳板机/堡垒机&#x…

探索Python数据结构与算法:解锁编程的无限可能

文章目录 一、引言1.1 数据结构与算法对于编程的重要性1.2 Python作为实现数据结构与算法的强大工具 二、列表和元组2.1 列表:创建列表、索引、切片和常用操作2.2 元组:不可变序列的特性和使用场景 三、字符串操作和正则表达式3.1 字符串的常见操作和方法…

本地运行LlaMA 2的简易指南

大家好,像LLaMA 2这样的新开源模型已经变得相当先进,并且可以免费使用。可以在商业上使用它们,也可以根据自己的数据进行微调,以开发专业版本。凭借其易用性,现在可以在自己的设备上本地运行它们。 本文将介绍如何下载…

0003.为什么有的电流表需要使用分流器?

以下两款电流表,你仔细看能有什么发现? 除了量程一个是20A,一个是30A,还有什么区别? 仔细观察你会发现30A的电流表上还有一个20A电流表没有的参数75mV. 是的,这就是他们之间最大的差距。 要测量一…

HTML--基本结构构成

基本结构&#xff1a; 文档声明: <!DOCTYPE html> htm标签对 :<html> </html> head标签对&#xff1a; <head> </head> body标签对&#xff1a;<body> </body> 如下结构&#xff1a; <html> <head> <title>这是一…

修改iview的表格table展开的默认icon和样式

修改前 修改后 修改内容 .title_label_list .ivu-icon-ios-add{font-size: 26px;color: #888888; } .title_label_list .ivu-icon-ios-add:hover{color: #11AAAA; } .title_label_list .ivu-icon-ios-add:before {content: "\F341"; } .title_label_list .ivu-icon-…

JVM工作原理与实战(十八):运行时数据区-堆

专栏导航 JVM工作原理与实战 RabbitMQ入门指南 从零开始了解大数据 目录 专栏导航 前言 一、运行时数据区 二、堆 1.堆介绍 2.关键参数 总结 前言 ​JVM作为Java程序的运行环境&#xff0c;其负责解释和执行字节码&#xff0c;管理内存&#xff0c;确保安全&#xff0c…

Qt/QML编程之路:小键盘keyboard(36)

小键盘对于qml应用是经常用到的,在qml里面,就如一个fileDialog也要自己画一样,小键盘keyboard也是要自己画的,对于相应的每个按键的clicked都要一一实现的。 这里有一个示例: 代码如下: import QtQuick 2.5 import QtQuick.Controls 1.4 import QtQuick.Window 2.0 im…

【刷题】 leetcode 2 .两数相加

两数相加 两数相加1 思路一 &#xff08;暴毙版&#xff09;2 思路二 &#xff08;本质出发&#xff09; 谢谢阅读Thanks♪(&#xff65;ω&#xff65;)&#xff89;下一篇文章见&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 两数相加 我们来看…

DQN、Double DQN、Dueling DQN、Per DQN、NoisyDQN 学习笔记

文章目录 DQN (Deep Q-Network)说明伪代码应用范围 Double DQN说明伪代码应用范围 Dueling DQN实现原理应用范围伪代码 Per DQN (Prioritized Experience Replay DQN)应用范围伪代码 NoisyDQN伪代码应用范围 部分内容与图片摘自&#xff1a;JoyRL 、 EasyRL DQN (Deep Q-Networ…