如何安装、部署、启动Jenkins(附教程+源码)

一、测试环境

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也有可能是中英文混搭风, 因为最新版本没有针对所有内容都翻译成中文。

同时,在这我也准备了一份软件测试视频教程(含接口、自动化、性能等), 需要的可以直接在下方观看就行,希望对你有所帮助!【公众号:互联网杂货铺】免费领取软件测试资料!

2024年Python自动化测试全套保姆级教程,70个项目实战,3天练完,永久白嫖...

三、卸载

[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 ~]#
相关推荐
一个不秃头的 程序员4 分钟前
代码加入SFTP JAVA ---(小白篇3)
java·python·github
susu10830189119 分钟前
python实现根据搜索关键词爬取某宝商品信息
爬虫·python
喜欢猪猪35 分钟前
Java技术专家视角解读:SQL优化与批处理在大数据处理中的应用及原理
android·python·adb
海绵波波10737 分钟前
flask后端开发(1):第一个Flask项目
后端·python·flask
林的快手43 分钟前
209.长度最小的子数组
java·数据结构·数据库·python·算法·leetcode
从以前1 小时前
准备考试:解决大学入学考试问题
数据结构·python·算法
cmgdxrz1 小时前
Postman接口测试02|执行接口测试、全局变量和环境变量、接口关联、动态参数、断言
测试工具·postman
Ven%1 小时前
如何修改pip全局缓存位置和全局安装包存放路径
人工智能·python·深度学习·缓存·自然语言处理·pip
枫欢1 小时前
将现有环境192.168.1.100中的svn迁移至新服务器192.168.1.4;
服务器·python·svn
柒月的猫2 小时前
方格分割(蓝桥杯2017年试题D)
职场和发展·蓝桥杯