前言
官网
提前避坑
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
[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.在文件中添加如下内容(放心添加,不会跟你现有配置冲突)
exportJAVA_HOME=/usr/local/software/jdk1.8.0_351 #这是你jdk的具体目录(根据实际填写)exportPATH=$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 -versionjava 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 -versionjava 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 00 :::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命令查看:
[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 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,可查看运行情况。
[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] INFO winstone.Logger#logInternal: Beginning extraction from war file2024-06-22 06:37:48.443+0000 [id=1] WARNING o.e.j.s.handler.ContextHandler#setContextPath: Empty contextPath2024-06-22 06:37:48.522+0000 [id=1] 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-LTS2024-06-22 06:37:48.824+0000 [id=1] INFO o.e.j.w.StandardDescriptorProcessor#visitServlet: NO JSP Support for /, did not find org.eclipse.jetty.jsp.JettyJspServlet2024-06-22 06:37:48.886+0000 [id=1] INFO o.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 13925月 2918:52 anaconda-ks.cfg
-rw-------. 1 root root 49086月 2213:51 .bash_history
-rw-r--r--. 1 root root 1812月 292013 .bash_logout
-rw-r--r--. 1 root root 17612月 292013 .bash_profile
-rw-r--r--. 1 root root 17612月 292013 .bashrc
drwxr-xr-x. 4 root root 296月 1714:21 .cache
drwxr-xr-x. 3 root root 185月 2919:47 .config
-rw-r--r--. 1 root root 10012月 292013 .cshrc
drwxr-xr-x. 3 root root 206月 2215:03 .groovy
drwxr-xr-x. 3 root root 196月 1714:17 .java
drwxr-xr-x. 11 root root 40966月 2215:21 .jenkins
drwxr-xr-x. 3 root root 196月 2118:52 .npm
-rw-------. 1 root root 646月 2118:52 .npmrc
drwxr-----. 3 root root 196月 1716:11 .pki
-rw-r--r--. 1 root root 12912月 292013 .tcshrc
-rw-------. 1 root root 8616月 2213:50 .viminfo
3.Jenkins在运行过程中,尤其是安装插件,可能需要多次重启,可以在浏览器键入以下地址:
http://[服务器IP]:8080/restart/
同样,插件管理,一般用于安装更新插件:
http://[服务器IP]:8080/pluginManager/
还有,全局工具管理,一般配置Git、Maven等:
http://[服务器IP]:8080/manage/configureTools/
服务器相关
Jenkins是一个比较占用服务器资源的工具,在使用过程中可能会出现一些不可遇见的问题,以下命令可能会帮助到我们进行分析。
1.
top
,实时监控系统进程活动和系统负载的实用工具。
[root@SERVER108 ~]# toptop - 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 20010.7g 2.2g 17128 S 100.714.417:00.23 java56341 root 20016210023321588 R 0.30.00:00.02 top1 root 20019378836962176 S 0.00.00:42.40 systemd
,查看磁盘空间使用情况。df -h
[root@SERVER108 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 7.8G 07.8G 0% /dev
tmpfs 7.8G 07.8G 0% /dev/shm
tmpfs 7.8G 25M 7.8G 1% /run
tmpfs 7.8G 07.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 01.6G 0% /run/user/0
,查看具体端口的进程信息;netstat -lnp | grep [port]
强制杀掉进程id为pid的进程。以下命令组合,强制关闭当前正在运行的Jenkins:kill -9 [pid]
[root@SERVER108 ~]# netstat -lnp|grep 8080
tcp6 00 :::8080 :::* LISTEN 55844/java
[root@SERVER108 ~]# kill -9 55844
以上,由【白鸽子中文网】提供,感谢观看。
版权归原作者 白鸽子中文网 所有, 如有侵权,请联系我们删除。