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

以上,由【白鸽子中文网】提供,感谢观看。



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。