九天猎人 发表于 2024-8-24 12:15:24

CentOS7下,Jenkins完备安装、配置和备注

前言

官网

https://www.jenkins.io/zh/
提前避坑

1.最新Jenkins依靠jdk-11,因此建议利用相应工具启动。固然jdk8(2022/09/01前)也支持,但是版本过老可能会导致不须要问题。
   You are running Jenkins on Java 1.8, support for which will end on or after September 1, 2022.
2.Jenkins默认端口为8080,如果有防火墙需要放开这个端口。同理,如果是阿里云服务器,还要放开安全组(自行百度)。
3.截止当前完稿,很多插件要求Jenkins版本至少是2.387.3,请在最稳定情况下只管安装最新,否则部门插件可能无法安装利用。
https://img-blog.csdnimg.cn/direct/a8f6ffc31d5f4cdd8657561ed383d15b.png
本次工具

1.jenkins.war包2.387.3版本:jenkins.war
2.jdk-11.0.3(jdk-11.0.3_linux-x64_bin.tar.gz):jdk-11.0.3_linux-x64_bin.tar.gz
   如下载慢或失败,可公众号【白鸽子】回复【001001】获取国内网盘下载所在,下载包含免费版的XShell、Xftp。
安装及运行Jenkins

安装JDK

1.用Xftp等工具,将war包和jdk上传到服务器安装目录,工具自定,位置自定,这里演示以是放在了/usr/local/demo下:
https://img-blog.csdnimg.cn/direct/abe05b833b244dc48d1b4c52a5235072.png
用Xshell等工具,连上(过程略)服务器后开始操作:
2.解压jdk-11.0.3
# cd /usr/local/demo
# tar -zxvf jdk-11.0.3_linux-x64_bin.tar.gz
jdk-11.0.3/README.html
jdk-11.0.3/bin/jaotc
……
jdk-11.0.3/lib/src.zip
jdk-11.0.3/lib/tzdb.dat
jdk-11.0.3/release
# ls
jdk-11.0.3jdk-11.0.3_linux-x64_bin.tar.gzjenkins.war
到这一步实在就可以了,不消再配置情况变量,指定全路径就可以直接利用jdk11。对于情况jdk版本还是jdk8的朋友来说,尤其友爱,不消思量配置辩论等问题。
3.配置情况jdk(可略过)
3.1.进入配置文件
#如果没有安装vim,请先运行命令sudo yum install -y vim
# vim /etc/profile
3.2.键盘点【i】键进入编辑模式
3.3.在文件中添加如下内容(放心添加,不会跟你现有配置辩论)
export JAVA_HOME=/usr/local/software/jdk1.8.0_351                #这是你jdk的具体目录(根据实际填写)
export PATH=$PATH:${JAVA_HOME}/bin                #这个设置是固定的,它会根据上面jdk目录找到bin目录
3.4.按【Esc】退出编辑模式
3.5.输入【:wq】再按【Enter】,保存设置并退出
3.6.更新配置
# source /etc/profile
上面一步,是为了让系统知道你默认利用哪个jdk版本,当你执行java -version就会体现版本信息:
# java -version
java version "1.8.0_351"
Java(TM) SE Runtime Environment (build 1.8.0_351-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.351-b10, mixed mode
你也可以指定具体的jdk全路径目录来操作指令:
# /usr/local/demo/jdk-11.0.3/bin/java -version
java version "11.0.3" 2019-04-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.3+12-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.3+12-LTS, mixed mode)
配置防火墙

1.查抄firewall是否运行,之后关闭,大概在firewall中放开8080端口
1.1.查抄是否安装防火墙
# rpm -q firewalld                #有安装会输出版本信息(如下),没安装没有任何输出
firewalld-0.6.3-13.el7_9.noarch
1.2.查抄firewall运行状态
# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since 五 2024-05-31 13:30:16 CST; 3 weeks 1 days ago
Docs: man:firewalld(1)
……
此中【Active: active (running)】就体现防火墙正在运行。
1.3.关闭防火墙(不推荐)
# systemctl stop firewalld                #关闭防火墙
# systemctl disable firewalld                #禁止防火墙开机自启动
# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: inactive (dead) since 六 2024-06-22 14:15:14 CST; 3s ago
Docs: man:firewalld(1)
……
【Active: inactive (dead)】体现防火墙已关闭。
1.4.防火墙开放8080端口(推荐)
# firewall-cmd --permanent --zone=public --add-port=8080/tcp                #添加规则 开启8080端口
success
# firewall-cmd --reload                #重载配置,使新配置生效
success
# firewall-cmd --list-ports                #列举已开放端口
8080/tcp
启动Jenkins

1.创建一个jenkins目录,用于统一管理Jenkins相干内容,并把jenkins.war移进去
# mkdir jenkins && mv jenkins.war jenkins
2.用jdk-11.0.3运行jenkins.war
2.1.为了使输出日记生成在jenkins目录下,先辈入再运行
# cd jenkins/
# nohup /usr/local/demo/jdk-11.0.3/bin/java -jar jenkins.war &
55804
# nohup: 忽略输入并把输出追加到"nohup.out"
有上面的输出后,按【Ctrl+C】回到下令界面。
2.2.查抄是否运行成功
用netstat工具查抄8080端口,输出如下则体现Jenkins运行成功:
# netstat -lnp|grep 8080
tcp6       0      0 :::8080               :::*                  LISTEN      52775/../jdk-11/bin
也可以直接查抄输出日记文件:
# ls
jenkins.warnohup.out
# cat nohup.out
……
*************************************************************
*************************************************************
*************************************************************

Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:

2d5d675e8af74e439f075b7d6d49daa2

This may also be found at: /root/.jenkins/secrets/initialAdminPassword

*************************************************************
*************************************************************
*************************************************************
……
【Jenkins initial setup is required.】体现Jenkins初始化运行成功,但需要进行配置。
同时,【2d5d675e8af74e439f075b7d6d49daa2】是初始管理员密码。
配置Jenkins

1.浏览器访问[服务器ip]:8080,如192.160.50.88:8080,进入Jenkins初始配置界面:
https://img-blog.csdnimg.cn/direct/d433846b392f402597e1fadd4ce63f5b.png
根据页面提示,管理员密码设置在【/root/.jenkins/secrets/initialAdminPassword】,利用cat下令查看:
# cat /root/.jenkins/secrets/initialAdminPassword
2d5d675e8af74e439f075b7d6d49daa2
这个密码实在就是我们刚刚查看日记时体现的谁人管理员密码。
注:XShell复制操作是【Ctrl+Insert】,粘贴是【Shift+Insert】。
2.将密码粘贴到页面上,解锁Jenkins,并进入插件配置页面:
https://img-blog.csdnimg.cn/direct/00a0b1a0a7a44eed89bd3bca47df8409.png
左下角体现Jenkins的版本。这里建议,如果是2.387.3以上的,直接选【安装推荐的插件】。如果版本较低、网络不佳,大概暂时不想安装的,也可以点击【选择插件来安装】,进入插件选择页面:
https://img-blog.csdnimg.cn/direct/2c0dd1eef8d74648ba875c637ebbd558.png
左边是插件的分类,有【构造和管理(Organization and Administration)】、【构建工具(Build Tools)】、【语言(Languages)】等等。
在这里重要是有【无】这个选项,想跳过插件安装的,可以点击【无】以设置不安装任何插件,直接点【安装】就可以跳过这一步。
我们回到上一步安装推荐的插件,每一个绿色的√都体现该插件安装成功:
https://img-blog.csdnimg.cn/direct/0ffc8134344e4f2fbf8f7f70fb6bbf63.png
3.创建第一个管理员用户
每一个设置都可以自界说,输入完后就可以点击【保存并完成】。
https://img-blog.csdnimg.cn/direct/717eaee22bc74c4dbfe2b3a2548e389d.png
4.实例配置
重要就是配置URL,没有特别要求的,就直接按照默认的[服务器ip]:8080吧,输入完后就可以点击【保存并完成】。
https://img-blog.csdnimg.cn/direct/80aa7700752849eb847ca3d1195f1e13.png
以上,Jenkins就已经安装完成了。
https://img-blog.csdnimg.cn/direct/e99570661f7641b3a5c853bc8f1a9ca9.png
Jenkins首页是如许子的:
https://img-blog.csdnimg.cn/direct/0568e62f56b24592bc0c69e16a2a27b9.png
Jenkins重要内容介绍

1.警告简析

刚安装完Jenkins,最引人注目的,大概就是右上角的黄色和赤色警告了。
1.1.这里的黄色警告,提示你有新版本的Jenkins可用。
https://img-blog.csdnimg.cn/direct/484f7d120d974f5282e7ff0aacd1d1f3.png
1.2.这里的赤色警告,提示你有些插件有安全问题。
https://img-blog.csdnimg.cn/direct/4863bdc42b3340e091a7c3cd8496f682.png
秉承着“能用不懂就不要瞎动”的原则,以上警告能忽略就忽略吧,除非你确实需要办理某个问题。
2.Manage Jenkins介绍

这个页面有很多内容我们需要认识。
2.1.System Configuration

2.1.1.Configure System(配置系统)

这里是Jenkins本身的一些系统设置,简朴介绍如下:
主目录/root/.jenkins是Jenkins配置保存的地方,删除将清理点当前Jenkins及其所有配置。系统消息可向其它共用Jenkins的用户发送消息。执行器数目设置Jenkins每次可执行多少个任务,数目越大意味着可执行的任务越多,但CPU和内存的压力也越大,可能导致死机。Jenkins URLJenkins所在系统管理员邮件所在用于接收消息的管理员邮箱。Resource Root URL资源根目录Environment variables情况变量设置GitHubGithub配置Git pluginGit插件配置ShellShell配置 2.1.2.Global Tool Configuration(全局工具配置)

常见或已安装的插件配置位置
MavenJDKGit installationsGradleAntMaven 2.1.3.Manage plugins(插件管理)

在这里可以安装或更新需要的插件。
2.1.4.Configure Global Security(配置全局安全性)

在这里可以配置授权、代理、跨域等内容。
2.1.5.Credentials(凭据)

在这里可以管理用户凭据信息,如Git账号密码等。
2.1.6.Manage Users(管理用户)

在这里可以管理所有的Jenkins用户。
2.1.7.System Log(系统日记)

在这里可以查看所有的系统日记。
备注

Jenkins相干

1.Jenkins的默认输出日记为nohup.out,可查看运行情况。
# cat nohup.out
Running from: /usr/local/demo/jenkins/jenkins.war
webroot: /root/.jenkins/war
2024-06-22 06:37:48.360+0000         INFO        winstone.Logger#logInternal: Beginning extraction from war file
2024-06-22 06:37:48.443+0000         WARNING        o.e.j.s.handler.ContextHandler#setContextPath: Empty contextPath
2024-06-22 06:37:48.522+0000         INFO        org.eclipse.jetty.server.Server#doStart: jetty-10.0.13; built: 2022-12-07T20:13:20.134Z; git: 1c2636ea05c0ca8de1ffd6ca7f3a98ac084c766d; jvm 11.0.3+12-LTS
2024-06-22 06:37:48.824+0000         INFO        o.e.j.w.StandardDescriptorProcessor#visitServlet: NO JSP Support for /, did not find org.eclipse.jetty.jsp.JettyJspServlet
2024-06-22 06:37:48.886+0000         INFO        o.e.j.s.s.DefaultSessionIdManager#doStart: Session workerName=node0
2.Jenkins的默认配置、数据信息目录是用户目录下的.jenkins,利用ls -lA可以看到。删除这个目录,则完备删除Jenkins。
# cd /root/
# ls -lA
总用量 44
-rw-------.1 root root 1392 5月29 18:52 anaconda-ks.cfg
-rw-------.1 root root 4908 6月22 13:51 .bash_history
-rw-r--r--.1 root root   18 12月 29 2013 .bash_logout
-rw-r--r--.1 root root176 12月 29 2013 .bash_profile
-rw-r--r--.1 root root176 12月 29 2013 .bashrc
drwxr-xr-x.4 root root   29 6月17 14:21 .cache
drwxr-xr-x.3 root root   18 5月29 19:47 .config
-rw-r--r--.1 root root100 12月 29 2013 .cshrc
drwxr-xr-x.3 root root   20 6月22 15:03 .groovy
drwxr-xr-x.3 root root   19 6月17 14:17 .java
drwxr-xr-x. 11 root root 4096 6月22 15:21 .jenkins
drwxr-xr-x.3 root root   19 6月21 18:52 .npm
-rw-------.1 root root   64 6月21 18:52 .npmrc
drwxr-----.3 root root   19 6月17 16:11 .pki
-rw-r--r--.1 root root129 12月 29 2013 .tcshrc
-rw-------.1 root root861 6月22 13:50 .viminfo
3.Jenkins在运行过程中,尤其是安装插件,可能需要多次重启,可以在浏览器键入以下所在:
   http://[服务器IP]:8080/restart/
同样,插件管理,一般用于安装更新插件:
   http://[服务器IP]:8080/pluginManager/
还有,全局工具管理,一般配置Git、Maven等:
   http://[服务器IP]:8080/manage/configureTools/
服务器相干

Jenkins是一个比较占用服务器资源的工具,在利用过程中可能会出现一些不可遇见的问题,以下下令可能会帮助到我们进行分析。
1.top,实时监控系统历程运动和系统负载的实用工具。
# top
top - 15:48:27 up 22 days,2:01,1 user,load average: 1.00, 0.94, 0.62
Tasks: 197 total,   1 running, 191 sleeping,   5 stopped,   0 zombie
%Cpu(s): 10.1 us,0.0 sy,0.0 ni, 89.9 id,0.0 wa,0.0 hi,0.0 si,0.0 st
KiB Mem : 16257428 total,   200836 free, 15142524 used,   914068 buff/cache
KiB Swap:8257532 total,7945200 free,   312332 used.   820932 avail Mem

PID USER      PRNI    VIRT    RES    SHR S%CPU %MEM   TIME+ COMMAND                              
55844 root      20   0   10.7g   2.2g17128 S 100.7 14.417:00.23 java                                 
56341 root      20   0162100   2332   1588 R   0.30.0   0:00.02 top                                    
1 root      20   0193788   3696   2176 S   0.00.0   0:42.40 systemd      
2.df -h,查看磁盘空间利用情况。
# df -h
文件系统                           容量已用可用 已用% 挂载点
devtmpfs                           7.8G   07.8G    0% /dev
tmpfs                              7.8G   07.8G    0% /dev/shm
tmpfs                              7.8G   25M7.8G    1% /run
tmpfs                              7.8G   07.8G    0% /sys/fs/cgroup
/dev/mapper/centos_server108-root   50G4.3G   46G    9% /
/dev/sda1                         1014M155M860M   16% /boot
/dev/mapper/centos_server108-home471G145M471G    1% /home
tmpfs                              1.6G   01.6G    0% /run/user/0
3.netstat -lnp | grep ,查看具体端口的历程信息;kill -9 欺压杀掉历程id为pid的历程。以下下令组合,欺压关闭当前正在运行的Jenkins:
# netstat -lnp|grep 8080
tcp6       0      0 :::8080               :::*                  LISTEN      55844/java         
# kill -9 55844
以上,由【白鸽子中文网】提供,感谢观看。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: CentOS7下,Jenkins完备安装、配置和备注