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

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.hqwc.cn/news/413689.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python项目——久坐提醒定时器(PySide6)编写

1、介绍 使用Python编写一个久坐提醒软件。功能: 设置工作时间。设置休息时间。选择休息时是否播放音乐。休息时,软件置顶,且不能关闭。 2、工具 语言:python3.11UI设计工具:Qt designer编译器:PyCharm包…

重学Java 9 方法(函数)⭐

要争气,因为心里憋着太多的不服气 ——24.1.18 数组重点回顾 1.概述:容器,本身属于引用数据类型 2.特点: ①定长 ②既可以存储基本数据类型的数据,还可以存储引用数据类型的数据 3.定义: 动态初始化&#x…

Qt拖拽组件与键盘事件

1.相关说明 1.设置widget或view的拖拽和放置模式函数setDragDropMode参数说明,NoDragDrop(无拖拽和放置)、DragOnly(只允许拖拽)、DropOnly(只允许放置)、DragDrop(允许拖拽和放置)、InternalMove(只移动不复制) 2.设置widget或view的放置动作函数setDefaultDropAct…

RocketMQ源码阅读-Message顺序发送与消费

RocketMQ源码阅读-Message顺序发送与消费 1 普通顺序消息2 严格顺序消息2.1 分配消息队列2.2 移除消息队列2.3 消费消息队列2.3.1 消费消息2.3.2 处理消费结果2.3.3 消息处理队列ProcessQueue2.3.4 小结 3 总结 Message的拉取与消费逻辑,上一篇已经分析过。 这一篇…

基于springboot+vue的社区团购系统(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目背景…

军事智能中的深度强化学习不同于传统的深度强化学习

在军事智能中,“诡”和“诈”是两个最重要的概念。 “诡”变指的是智能体通过采取一些不可预测或复杂的变化策略来获得优势。诡变可能包括逃避对手的观察或引诱对手采取不利的行动。智能体可以使用诡变来欺骗对手,使其做出错误的决策或暴露其策略。 “诈…

Python编辑开发---pycharm pro 2023 中文

PyCharm Pro 2023是一款功能强大的Python集成开发环境(IDE),旨在提高Python开发人员的生产力。它提供了智能代码编辑、实时代码分析和调试工具,支持版本控制和数据库工具,以及可扩展的插件系统。PyCharm Pro 2023可在多…

医学图像的图像处理、分割、分类和定位-1

一、说明 本报告全面探讨了应用于医学图像的图像处理和分类技术。开展了四项不同的任务来展示这些方法的多功能性和有效性。任务 1 涉及读取、写入和显示 PNG、JPG 和 DICOM 图像。任务 2 涉及基于定向变化的多类图像分类。此外,我们在任务 3 中包括了胸部 X 光图像…

【PyTorch】PyTorch之Tensors索引切片篇

文章目录 前言一、ARGWHERE二、CAT、CONCAT、CONCATENATE三、CHUNK四、GATHER五、MOVEDIM和MOVEAXIS六、PERMUTE七、RESHAPE八、SELECT九、SPLIT十、SQUEEZE十一、T十二、TAKE十三、TILE十四、TRANSPOSE十五、UNBIND十六、UNSQUEEZE十七、WHERE 前言 介绍常用的PyTorch之Tenso…

pytest + allure(windows)安装

背景 软硬件环境: windows11,已安装anaconda,python,pycharm用途:使用pytest allure 生成报告allure 依赖java,点击查看java安装教程 allure 下载与安装 从 allure下载网址下载最新版本.zip文件 放在自…

Spring Web文件上传功能简述

文章目录 正文简单文件上传文件写入 总结 正文 在日常项目开发过程中,文件上传是一个非常常见的功能,当然正规项目都有专门的文件服务器保存上传的文件,实际只需要保存文件路径链接到数据库中即可,但在小型项目中可能没有专门的文…

汽车连接器接线端子和多芯线束连接界面

冷压接的开式压接和闭式压接以及热压接的超声波焊接对汽车连接器接线端子和多芯线束连接界面 连接器接线端子和多芯线束的连接是电子线束行业,特别是汽车行业常用的导线连接方式。汽车整车线束又由许多分支线束组成,而分支线束必须通过连接器实现连接&am…