【一步到位】Jenkins的安装、部署、启动(完整教程)

news2024/9/23 9:35:25

一、测试环境

  • Linux系统 Centos 7

二、安装步骤:

1、安装jdk

我安装的是jdk8,此处就不多说了,自己百度哈,很简单

2、安装jenkins

首先依次执行如下三个命令:
2.1、导入镜像:

[root@centos7 ~]# sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
--2019-12-24 17:59:44--  https://pkg.jenkins.io/redhat-stable/jenkins.repo
Resolving pkg.jenkins.io (pkg.jenkins.io)... 52.202.51.185
Connecting to pkg.jenkins.io (pkg.jenkins.io)|52.202.51.185|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 85
Saving to: ‘/etc/yum.repos.d/jenkins.repo’
 
100%[=====================================================================================================================================================>] 85          --.-K/s   in 0s      
 
2019-12-24 18:00:47 (17.4 MB/s) - ‘/etc/yum.repos.d/jenkins.repo’ saved [85/85]
 

2.2、导入公钥

[root@centos7 ~]# sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
 

2.3、安装jenkins:

[root@centos7 ~]# yum install jenkins
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package jenkins.noarch 0:2.204.1-1.1 will be installed
--> Finished Dependency Resolution
 
Dependencies Resolved
 
===============================================================================================================================================================================================
 Package                                      Arch                                        Version                                           Repository                                    Size
===============================================================================================================================================================================================
Installing:
 jenkins                                      noarch                                      2.204.1-1.1                                       jenkins                                       60 M
 
Transaction Summary
===============================================================================================================================================================================================
Install  1 Package
 
Total download size: 60 M
Installed size: 61 M
Is this ok [y/d/N]: y
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
jenkins-2.204.1-1.1.noarch.rpm FAILED                                          
http://pkg.jenkins.io/redhat-stable/jenkins-2.204.1-1.1.noarch.rpm: [Errno 12] Timeout on http://pkg.jenkins.io/redhat-stable/jenkins-2.204.1-1.1.noarch.rpm: (28, 'Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds')
Trying other mirror.
jenkins-2.204.1-1.1.noarch.rpm FAILED                                          
http://pkg.jenkins.io/redhat-stable/jenkins-2.204.1-1.1.noarch.rpm: [Errno 12] Timeout on http://pkg.jenkins.io/redhat-stable/jenkins-2.204.1-1.1.noarch.rpm: (28, 'Connection timed out after 30001 milliseconds')
Trying other mirror.
jenkins-2.204.1-1.1.noarch.rpm                                                                                                                                          |  60 MB  00:04:26     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
** Found 1 pre-existing rpmdb problem(s), 'yum check' output follows:
authconfig-6.2.8-30.el7.x86_64 has missing requires of newt-python
  Installing : jenkins-2.204.1-1.1.noarch                                                                                                                                                  1/1 
  Verifying  : jenkins-2.204.1-1.1.noarch                                                                                                                                                  1/1 
 
Installed:
  jenkins.noarch 0:2.204.1-1.1                                                                                                                                                                 
 
Complete!
 

2.4、修改配置文件

[root@centos7 ~]# vi /etc/sysconfig/jenkins

修改这部分:

## Default:     8080
## ServiceRestart: jenkins
#
# Port Jenkins is listening on.
# Set to -1 to disable
#
JENKINS_PORT="8091"
 
## Type:        string
## Default:     ""
## ServiceRestart: jenkins

2.5、启动jenkins

[root@centos7 ~]# systemctl  start  jenkins
Job for jenkins.service failed because the control process exited with error code. See "systemctl status jenkins.service" and "journalctl -xe" for details.

2.6、查看jenkins的启动状态

[root@centos7 ~]# systemctl status  jenkins
● jenkins.service - LSB: Jenkins Automation Server
   Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled)
   Active: failed (Result: exit-code) since Tue 2019-12-24 18:12:05 CST; 11s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 23175 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=1/FAILURE)
 
Dec 24 18:12:05 centos7  systemd[1]: Starting LSB: Jenkins Automation Server...
Dec 24 18:12:05 centos7 runuser[23180]: pam_unix(runuser:session): session opened for user jenkins by (uid=0)
Dec 24 18:12:05 centos7 jenkins[23175]: Starting Jenkins bash: /usr/bin/java: Is a directory
Dec 24 18:12:05 centos7  systemd[1]: jenkins.service: control process exited, code=exited status=1
Dec 24 18:12:05 centos7 jenkins[23175]: [FAILED]
Dec 24 18:12:05 centos7 systemd[1]: Failed to start LSB: Jenkins Automation Server.
Dec 24 18:12:05 centos7  systemd[1]: Unit jenkins.service entered failed state.
Dec 24 18:12:05 centos7 systemd[1]: jenkins.service failed.

出现这种情况的解决办法是:

修改 jenkins 的配置文件中使用的 jdk 路径

[root@centos7 ~]#  echo $JAVA_HOME
/usr/java/jdk1.8.0_191
 
[root@centos7 ~]# vi /etc/init.d/jenkins 

 

注意:这里echo $JAVA_HOME 出来的路径,后面一定跟启动路径(/bin/java)

2.7、重启并查看 jenkins 状态

systemctl daemon-reload
 
systemctl restart jenkins 

我的 jenkins 启动后是这样子的:

[root@centos7 docker]# systemctl daemon-reload
[root@centos7 docker]# systemctl restart jenkins 
[root@centos7 docker]# systemctl status jenkins
● jenkins.service - LSB: Jenkins Automation Server
   Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled)
   Active: active (running) since Tue 2019-12-24 18:16:08 CST; 12s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 23787 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/jenkins.service
           └─23832 /software/jdk1.8.0_191/bin/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war --logfile=/v...
 
Dec 24 18:16:02 centos7 systemd[1]: Starting LSB: Jenkins Automation Server...
Dec 24 18:16:02 centos7 runuser[23792]: pam_unix(runuser:session): session opened for user jenkins by (uid=0)
Dec 24 18:16:08 centos7 runuser[23792]: pam_unix(runuser:session): session closed for user jenkins
Dec 24 18:16:08 centos7 systemd[1]: Started LSB: Jenkins Automation Server.
Dec 24 18:16:08 centos7 jenkins[23787]: Starting Jenkins [  OK  ]
[root@centos7 ~]# lsof -i:8091
COMMAND   PID    USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
java    23832 jenkins  160u  IPv4 11605726      0t0  TCP *:jamlink (LISTEN)

好了,此时已经表示 Jenkins 顺利安装并启动成功了!
 

2.8、访问浏览器: http://localhost:8091/ 出现如下提示:

Please wait while Jenkins is getting ready to work...

解决办法
进入jenkins的工作目录(/var/lib/jenkins/),打开 hudson.model.UpdateCenter.xml
把 http://updates.jenkins-ci.org/update-center.json 改成如下三个地址之一均可:

# 修改更新地址(到其中一种即可):
http://mirror.xmission.com/jenkins/updates/update-center.json
 
http://updates.jenkins.io/update-center.json
 
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
 
http://mirror.esuni.jp/jenkins/updates/update-center.json

然后重启并查看 jenkins 状态:

[root@centos7 ~]# vi hudson.model.UpdateCenter.xml 
[root@centos7 ~]# systemctl daemon-reload
[root@centos7 ~]# systemctl restart jenkins 
[root@centos7 ~]# systemctl status jenkins

查看密码:

cat /var/lib/jenkins/secrets/initialAdminPassword

然后直接选推荐安装的插件,或者直接下一步就完事儿了!
 

2.9、设置jenkin语言为中文

需要的话,还可以设置语言为中文

  • 1、系统管理->插件管理->可用插件:安装Locale Plugin插件(https://wiki.jenkins.io/display/JENKINS/Locale+Plugin),重启;
  • 2、如果没有搜索到这个插件,就直接官网(https://github.com/jenkinsci/locale-plugin或者https://updates.jenkins.io/download/plugins/locale/)下载安装:
  • 系统管理->插件管理->高级->上传插件,安装重启;
  • 3、系统管理->系统管理->locale language->输入zh_CN

 

  • 最新版本的jenkins,即使设置了zh_CN也有可能是中英文混搭风, 因为最新版本没有针对所有内容都翻译成中文。

三、卸载

[root@centos7 ~]# rpm -e jenkins
warning: /etc/sysconfig/jenkins saved as /etc/sysconfig/jenkins.rpmsave
warning: /etc/init.d/jenkins saved as /etc/init.d/jenkins.rpmsave
[root@centos7 ~]# systemctl stop jenkins
Failed to stop jenkins.service: Access denied
See system logs and 'systemctl status jenkins.service' for details.
Failed to get load state of jenkins.service: Access denied
[root@centos7 ~]# rpm -ql jenkins
package jenkins is not installed
[root@centos7 ~]# find / -iname jenkins | xargs -n 1000 rm -rf
[root@centos7 ~]#

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

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

相关文章

阿里P6跟P7有什么区别?

在互联网领域,阿里的职级和腾讯的职级体系相当于行业标准了,所以技术人还是需要学习一下/对标一下,从而知道自己目前在哪里,努力的方向是哪里?那么,阿里 P7 级别到底需要哪些能力呢?如下图思维导…

指针和数组笔试题解析

目录 数组笔试题 一维数组 字符数组 题 一 题 二 题 三 题 四 题 五 题 六 二维数组 指针笔试题 笔试题一 笔试题二 笔试题三 笔试题四 笔试题五 笔试题六 笔试题七 本篇博文,将从指针和数组来为大家分析一些笔试题,设计内…

IDEA+SpringBoot+mybatis+SSM+layui+Mysql客户管理系统源码

IDEASpringBootmybatisSSMlayuiMysql客户管理系统 一、系统介绍1.环境配置 二、系统展示1. 管理员登录2.修改密码3.客户管理4.添加客户5.充值记录管理6.消费记录管理7.客户类型8.添加客户类型 三、部分代码UserMapper.javaLoginController.javaUser.java 四、其他获取源码 一、…

【ElasticSearch】ES案例:旅游酒店搜索

文章目录 一、项目分析二、需求1:酒店搜索功能三、需求2:添加过滤功能四、需求3:我附近的酒店五、需求4:置顶花广告费的酒店 一、项目分析 启动hotel-demo项目,访问localhost:servicePort,即可访问static下…

不停服迭代更新-服务网格

系列文章目录 本章将根据多年经验,进行规划讲解 文章目录 系列文章目录前言一、如何做到 不停服更新、 不停服更新的机制有什么好处, 前言 服务迭代发版、少不了的就是停服更新,为了不影响 用户体验,大部分公司选择半夜更新迭代&…

TPCE260PCIE转PMC载板

TPCE60是一个标准的高度PCI Express版本1.1兼容的模块,提供了一个槽用于安装标准PMC模块,灵活和成本有效的I/O解决方案的各种应用如过程控制、医疗系统、电信和交通控制。 桥接PCI Express x1连接到主机板和PCI总线信号的PMC槽之间是由透明的PCIe到PCI桥…

正确释放vector的内存:clear还是swap?

一、size()和capacity()方法的区别 1、vector有size()和capacity()方法都用来获取vector的大小&#xff0c;那么它们两之间有什么区别呢&#xff1f; 我们先来看一段代码&#xff1a; int main() {std::vector<int> v1;std::cout <<"size:"<< v…

工厂模式(工厂方法和简单工厂模式)

工厂模式 概述常见分类简单工厂模式概述设计图解创建People抽象类(产品说明书)创建子类(产品角色)创建工厂(用于根据需求实例化对象)消费者简单工厂模式优点简单工厂模式缺点 工厂方法模式概述设计图解创建抽象父类(产品说明书)子类&#xff08;产品角色&#xff09;工厂工厂接…

数据结构二叉树(OJ)题

分析&#xff1a; 2. 我们要想办法区分&#xff0c;从队列当中出队的数据是属于那一层的数据 3. 我们当前这一道题的时间复杂度是O&#xff08;h * N&#xff09; h是树的高度&#xff0c;我们最坏情况就是在树的最底下找到&#xff0c;得递归h次&#xff0c;树的高度&#x…

vue开发:vue的插槽功能讲解

vue的插槽 举一个生活中的例子&#xff1a;比如装修房子的时候我们会在很多地方预留出一些插孔&#xff0c;可能要插电冰箱&#xff0c;插电式&#xff0c;插充电器等&#xff0c;反正就是你觉得预留在这个位置的插座一定有用&#xff0c;这个预留的插座就类似我们今天要说的插…

【C语言13】结构体的声明,定义与结构体的内存对齐

文章目录 一、结构体1.1结构体是什么1.2结构体声明1.3结构体的内存 以上便是结构体的介绍&#xff0c;如有不足&#xff0c;请多多指正&#xff01; 一、结构体 1.1结构体是什么 通俗的说&#xff0c;结构体就是一个类的集合&#xff0c;如同整形数组是整形数字的集合体&…

高数中的驻点以及要注意的事项

在高等数学中&#xff0c;驻点是指函数导数为零的点&#xff0c;即函数的极值点或拐点。在求解函数的最大值、最小值或拐点时&#xff0c;需要找到函数的驻点。 要注意以下几点&#xff1a; 1. 导数为零不一定是驻点&#xff1a;虽然驻点定义为函数导数为零的点&#xff0c;但…

力扣 | 双指针技巧

前文回顾&#xff1a;力扣 | 数组和字符串简介 力扣LeetBook&#xff1a;数组和字符串 文章目录 &#x1f4da;双指针技巧&#xff1a;情形一&#x1f449;反转字符串&#x1f449;数组拆分I&#x1f449;两数之和 II - 输入有序数组 &#x1f4da;双指针技巧&#xff1a;情形二…

基于智能手机的医院服务客户端设计与实现(论文+源码)_kaic

摘 要 近年来&#xff0c;随着中国经济的迅猛发展&#xff0c;医疗技术水平也在不断提高&#xff0c;但由于人口数目巨大&#xff0c;导致医疗资源人均分配不足的情况依旧十分严峻。预约挂号一直是制约医疗机构服务质量提高的主要环节之一。在传统预约挂号方式下&#xff0c;繁…

EMQ X(3):客户端websocket消息收发

在EMQ X Broker提供的 Dashboard 中 TOOLS 导航下的 Websocket 页面提供了一个简易但有效的WebSocket 客户端工具&#xff0c;它包含了连接、订阅和发布功能&#xff0c;同时还能查看自己发送和接收的报文数据&#xff0c;我们期望 它可以帮助您快速地完成某些场景或功能的测试…

ncm格式如何转换为mp3,分享几个方法!

你是否曾在网易云音乐上下载了一些NCM格式的音频文件&#xff0c;但发现无法在其他设备上播放&#xff1f;别担心&#xff0c;记灵在线工具可以帮助你将这些NCM格式转换为常见的MP3格式。今天小编就来分享三种方法&#xff0c;教你如何搞定&#xff01; 方法一&#xff1a;曲线…

C#学习之路-循环

有的时候&#xff0c;可能需要多次执行同一块代码。一般情况下&#xff0c;语句是顺序执行的&#xff1a;函数中的第一个语句先执行&#xff0c;接着是第二个语句&#xff0c;依此类推。 编程语言提供了允许更为复杂的执行路径的多种控制结构。 循环语句允许我们多次执行一个…

Notepad++设置查看函数列表的快捷键

Notepad是一个非常精巧、启动便捷、支持文本自动补全的记事本软件&#xff0c;到2023年7月&#xff0c;已经更新到了v8.5.4版本&#xff0c;这里介绍设置其查看函数列表的快捷键方法。老版本的Notepad&#xff0c;比如Notepad v7.3, 默认查看函数列表的快捷键的为F8&#xff0c…

python PYQT5 键盘,鼠标,绘制,焦点,改变,输入法,事件的方法和使用例子

https://img-blog.csdnimg.cn/7630017d3ee444eab9bdedf8d48d575f.png from PyQt5.Qt import * import sys class MyQwidget(QWidget):def __init__(self):super().__init__()def showEvent(self, a0) -> None:print("窗口被展示出来",a0)def closeEvent(self,a0) …

网络编程4——传输层TCP协议的三大安全机制:三次握手四次挥手+确认应答机制+超时重传机制

文章目录 前言一、TCP协议段与机制TCP协议的特点TCP报头结构TCP协议的机制与特性 二、TCP协议的 连接管理机制 TCP建立连接&#xff1a;三次握手 TCP断开连接&#xff1a;四次挥手 三、TCP协议的 确认应答机制 四、TCP协议的 超时重传机制 总结 前言 本人是一个刚刚上路的I…