CentOS7下,Jenkins完整安装、配置和备注
白鸽子中文网 2024-08-11 15:07:03 阅读 81
前言
官网
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,请在最稳定情况下尽量安装最新,否则部分插件可能无法安装使用。
本次工具
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下:
用Xshell等工具,连上(过程略)服务器后开始操作:
2.解压jdk-11.0.3
<code>[root@SERVER108 ~]# cd /usr/local/demo
[root@SERVER108 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
[root@SERVER108 demo]# ls
jdk-11.0.3 jdk-11.0.3_linux-x64_bin.tar.gz jenkins.war
到这一步其实就可以了,不用再配置环境变量,指定全路径就可以直接使用jdk11。对于环境jdk版本还是jdk8的朋友来说,尤其友好,不用考虑配置冲突等问题。
3.配置环境jdk(可略过)
3.1.进入配置文件
#如果没有安装vim,请先运行命令sudo yum install -y vim
[root@SERVER108 demo]# 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.更新配置
[root@SERVER108 demo]# source /etc/profile
上面一步,是为了让系统知道你默认使用哪个jdk版本,当你执行java -version就会显示版本信息:
[root@SERVER108 demo]# 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全路径目录来操作指令:
[root@SERVER108 demo]# /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.检查是否安装防火墙
[root@SERVER108 demo]# rpm -q firewalld#有安装会输出版本信息(如下),没安装没有任何输出
firewalld-0.6.3-13.el7_9.noarch
1.2.检查firewall运行状态
[root@SERVER108 demo]# 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.关闭防火墙(不推荐)
[root@SERVER108 demo]# systemctl stop firewalld#关闭防火墙
[root@SERVER108 demo]# systemctl disable firewalld#禁止防火墙开机自启动
[root@SERVER108 demo]# 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端口(推荐)
[root@SERVER108 demo]# firewall-cmd --permanent --zone=public --add-port=8080/tcp#添加规则 开启8080端口
success
[root@SERVER108 demo]# firewall-cmd --reload#重载配置,使新配置生效
success
[root@SERVER108 demo]# firewall-cmd --list-ports#列举已开放端口
8080/tcp
启动Jenkins
1.创建一个jenkins目录,用于统一管理Jenkins相关内容,并把jenkins.war移进去
[root@SERVER108 demo]# mkdir jenkins && mv jenkins.war jenkins
2.用jdk-11.0.3运行jenkins.war
2.1.为了使输出日志生成在jenkins目录下,先进入再运行
[root@SERVER108 demo]# cd jenkins/
[root@SERVER108 jenkins]# nohup /usr/local/demo/jdk-11.0.3/bin/java -jar jenkins.war &
[1] 55804
[root@SERVER108 jenkins]# nohup: 忽略输入并把输出追加到"nohup.out"
有上面的输出后,按【Ctrl+C】回到命令界面。
2.2.检查是否运行成功
用netstat
工具检查8080端口,输出如下则表示Jenkins运行成功:
[root@SERVER108 jenkins]# netstat -lnp|grep 8080
tcp6 0 0 :::8080 :::* LISTEN 52775/../jdk-11/bin
也可以直接检查输出日志文件:
[root@SERVER108 jenkins]# ls
jenkins.war nohup.out
[root@SERVER108 jenkins]# 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初始配置界面:
根据页面提示,管理员密码设置在【/root/.jenkins/secrets/initialAdminPassword】,使用cat命令查看:
<code>[root@SERVER108 jenkins]# cat /root/.jenkins/secrets/initialAdminPassword
2d5d675e8af74e439f075b7d6d49daa2
这个密码其实就是我们刚刚查看日志时显示的那个管理员密码。
注:XShell复制操作是【Ctrl+Insert】,粘贴是【Shift+Insert】。
2.将密码粘贴到页面上,解锁Jenkins,并进入插件配置页面:
左下角显示Jenkins的版本。这里建议,如果是2.387.3以上的,直接选【安装推荐的插件】。如果版本较低、网络不佳,或者暂时不想安装的,也可以点击【选择插件来安装】,进入插件选择页面:
左边是插件的分类,有【组织和管理(Organization and Administration)】、【构建工具(Build Tools)】、【语言(Languages)】等等。
在这里主要是有【无】这个选项,想跳过插件安装的,可以点击【无】以设置不安装任何插件,直接点【安装】就可以跳过这一步。
我们回到上一步安装推荐的插件,每一个绿色的√都表示该插件安装成功:
3.创建第一个管理员用户
每一个设置都可以自定义,输入完后就可以点击【保存并完成】。
4.实例配置
主要就是配置URL,没有特殊要求的,就直接按照默认的[服务器ip]:8080吧,输入完后就可以点击【保存并完成】。
以上,Jenkins就已经安装完成了。
Jenkins首页是这样子的:
Jenkins重要内容介绍
1.警告简析
刚安装完Jenkins,最引人注目的,大概就是右上角的黄色和红色警告了。
1.1.这里的黄色警告,提示你有新版本的Jenkins可用。
1.2.这里的红色警告,提示你有些插件有安全问题。
秉承着“能用不懂就不要瞎动”的原则,以上警告能忽略就忽略吧,除非你确实需要解决某个问题。
2.Manage Jenkins介绍
这个页面有许多内容我们需要熟悉。
2.1.System Configuration
2.1.1.Configure System(配置系统)
这里是Jenkins本身的一些系统设置,简单介绍如下:
主目录/root/.jenkins | 是Jenkins配置保存的地方,删除将清理点当前Jenkins及其所有配置。 |
系统消息 | 可向其它共用Jenkins的用户发送消息。 |
执行器数量 | 设置Jenkins每次可执行多少个任务,数量越大意味着可执行的任务越多,但CPU和内存的压力也越大,可能导致死机。 |
Jenkins URL | Jenkins地址 |
系统管理员邮件地址 | 用于接收消息的管理员邮箱。 |
Resource Root URL | 资源根目录 |
Environment variables | 环境变量设置 |
GitHub | Github配置 |
Git plugin | Git插件配置 |
Shell | Shell配置 |
2.1.2.Global Tool Configuration(全局工具配置)
常见或已安装的插件配置位置
Maven |
JDK |
Git installations |
Gradle |
Ant |
Maven |
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,可查看运行情况。
<code>[root@SERVER108 jenkins]# cat nohup.out
Running from: /usr/local/demo/jenkins/jenkins.war
webroot: /root/.jenkins/war
2024-06-22 06:37:48.360+0000 [id=1]INFOwinstone.Logger#logInternal: Beginning extraction from war file
2024-06-22 06:37:48.443+0000 [id=1]WARNINGo.e.j.s.handler.ContextHandler#setContextPath: Empty contextPath
2024-06-22 06:37:48.522+0000 [id=1]INFOorg.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 [id=1]INFOo.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 [id=1]INFOo.e.j.s.s.DefaultSessionIdManager#doStart: Session workerName=node0
2.Jenkins的默认配置、数据信息目录是用户目录下的.jenkins,使用ls -lA可以看到。删除这个目录,则完整删除Jenkins。
[root@SERVER108 jenkins]# cd /root/
[root@SERVER108 ~]# 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 root 176 12月 29 2013 .bash_profile
-rw-r--r--. 1 root root 176 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 root 100 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 root 129 12月 29 2013 .tcshrc
-rw-------. 1 root root 861 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
,实时监控系统进程活动和系统负载的实用工具。
[root@SERVER108 ~]# 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 PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
55844 root 20 0 10.7g 2.2g 17128 S 100.7 14.4 17:00.23 java
56341 root 20 0 162100 2332 1588 R 0.3 0.0 0:00.02 top
1 root 20 0 193788 3696 2176 S 0.0 0.0 0:42.40 systemd
2.df -h
,查看磁盘空间使用情况。
[root@SERVER108 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs 7.8G 0 7.8G 0% /dev/shm
tmpfs 7.8G 25M 7.8G 1% /run
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
/dev/mapper/centos_server108-root 50G 4.3G 46G 9% /
/dev/sda1 1014M 155M 860M 16% /boot
/dev/mapper/centos_server108-home 471G 145M 471G 1% /home
tmpfs 1.6G 0 1.6G 0% /run/user/0
3.netstat -lnp | grep [port]
,查看具体端口的进程信息;kill -9 [pid]
强制杀掉进程id为pid的进程。以下命令组合,强制关闭当前正在运行的Jenkins:
[root@SERVER108 ~]# netstat -lnp|grep 8080
tcp6 0 0 :::8080 :::* LISTEN 55844/java
[root@SERVER108 ~]# kill -9 55844
以上,由【白鸽子中文网】提供,感谢观看。
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。