简单介绍:
1、Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成
2、Jenkins依赖java环境,需要安装jdk
3、完整的Jenkins持续集成还需要git、maven以及tomcat的支持
前期准备:
1、禁用SELinux
rpm -q grubby #确认grubby软件包是否已经安装
grubby --update-kernel ALL --args selinux=0 #添加selinux=0到内核命令行
getenforce #查看结果为Disabled
2、防火墙设置
Rocky Linux 9.x默认是firewalld防火墙,我们这里卸载firewall,安装iptables作为防火墙
2.1关闭firewall
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl mask firewalld
systemctl stop firewalld
yum -y remove firewalld
2.2安装iptables防火墙,开启相应的端口
yum -y install iptables-services #安装
systemctl enable iptables.service #设置防火墙开机启动
systemctl start iptables.service #启动防火墙使配置生效
vi /etc/sysconfig/iptables
# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8081 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
:wq! #保存退出
systemctl restart iptables.service #启动防火墙使配置生效
iptables -L -v -n #查看规则
3、设置系统时间
localectl set-locale LC_TIME=C.UTF-8 #让date默认显示为 24 小时制
vi /etc/locale.conf
LC_TIME=C.UTF-8
:wq! #保存退出
source /etc/locale.conf #使配置生效
rm -rf /etc/localtime #先删除默认的时区设置
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #替换亚洲/上海作为默认时区
vi /etc/sysconfig/clock #添加时区
Zone=Asia/Shanghai
:wq! #保存退出
timedatectl set-local-rtc 0
hwclock --systohc -u #系统时钟和硬件时钟同步,当前系统时区不为 UTC,是CST时间,所有要加-u参数
shutdown -r now #重启系统
date #显示系统时间
date -s "2025-03-11 11:24:00" #修改时间
watch -n 1 date #显示实时时间
vi /etc/chrony.conf
#pool 2.rocky.pool.ntp.org iburst #注释
server ntp.aliyun.com iburst #添加
:wq! #保存退出
systemctl enable chronyd #添加开机启动
systemctl restart chronyd #重启服务
chronyc sources -v #查看时间同步信息
4、系统参数优化
vi /etc/security/limits.conf #在最后一行添加以下代码
* soft nproc unlimited
* hard nproc unlimited
* soft nofile 1000000
* hard nofile 1000000
:wq! #保存退出
vi /etc/sysctl.conf #在最后一行添加以下代码
fs.file-max = 65535000
fs.nr_open = 65535000
kernel.pid_max=655350
vm.swappiness = 0
net.ipv4.ip_forward = 1
vm.max_map_count=262144
:wq! #保存退出
/sbin/sysctl -p
ulimit -a #查看
ulimit -n 1000000 #设置
安装部署:
我们使用Rocky Linux 9.x来部署Jenkins
Rocky Linux 9.x系统安装配置图解教程
https://www.osyunwei.com/archives/14859.html
1、安装jdk
1.1下载OpenJDK
https://adoptium.net/zh-CN/download/
选择最新稳定版:OpenJDK21U-jdk_x64_linux_hotspot_21.0.6_7.tar.gz
上传安装包到/usr/local/src/目录下
1.2安装jdk
创建jdk安装路径
mkdir -p /data/server/java
#解压
tar -zxvf /usr/local/src/OpenJDK21U-jdk_x64_linux_hotspot_21.0.6_7.tar.gz -C /data/server/java
#进入安装目录
cd /data/server/java/jdk-21.0.6+7
#查看版本信息
./bin/java -version
1.3设置环境变量
vi /etc/profile #添加下面的信息
#set java21 environment
JAVA_HOME=/data/server/java/jdk-21.0.6+7
CLASS_PATH=.:$JAVA_HOME/lib
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME CLASS_PATH PATH
:wq! #保存退出
#在 JDK 21 中,已经没有 dt.jar 和 tools.jar 文件
#让修改立即生效
source /etc/profile
#查看版本信息
java -version
1.4其它相关命令
#列出yum已安装的 Java 版本
rpm -qa | grep java
#卸载
rpm -e <package_name>
#查找当前系统的java版本
ls -l $(which java)
#创建软连接
ln -sf /data/server/java/jdk-21.0.6+7/bin/java /usr/bin/java
ln -sf /data/server/java/jdk-21.0.6+7/bin/java /usr/local/bin/java
2、安装git
2.1下载git
官方网站:
https://git-scm.com/
下载地址:
https://www.kernel.org/pub/software/scm/git/
https://www.kernel.org/pub/software/scm/git/git-2.48.1.tar.gz
上传安装包git-2.48.1.tar.gz到/usr/local/src/目录下
2.2安装git
#创建git安装目录
mkdir -p /data/server/git
#安装依赖包
yum install gcc perl-ExtUtils-MakeMaker curl-devel expat-devel gettext-devel openssl-devel zlib-devel
#安装
cd /usr/local/src/
tar zxvf git-2.48.1.tar.gz
cd git-2.48.1
make prefix=/data/server/git all
make prefix=/data/server/git install
#查看版本
cd /data/server/git/bin
./git -v
2.3设置环境变量
vi /etc/profile #添加下面的信息
#Git environment variables
export GIT_HOME=/data/server/git
export PATH=$PATH:$GIT_HOME/bin
:wq! #保存退出
source /etc/profile #使配置立即生效
git -v #查看版本
3、安装maven
3.1下载maven
官方网站:
https://maven.apache.org/
下载地址:
https://dlcdn.apache.org/maven/maven-3/3.9.9/binaries/apache-maven-3.9.9-bin.tar.gz
上传安装包apache-maven-3.9.9-bin.tar.gz到/usr/local/src/目录下
3.2安装maven
cd /usr/local/src/
tar xzf apache-maven-3.9.9-bin.tar.gz -C /data/server/
mv /data/server/apache-maven-3.9.9 /data/server/maven
#查看版本
cd /data/server/maven/bin
./mvn -v
3.3设置环境变量
vi /etc/profile #添加下面的信息
#set maven environment
export MAVEN_HOME=/data/server/maven
export PATH=$PATH:$MAVEN_HOME/bin
:wq! #保存退出
source /etc/profile #使配置立即生效
mvn -v #查看版本
4、安装tomcat
4.1下载tomcat
官方网站:
https://tomcat.apache.org/
下载地址:
https://dlcdn.apache.org/tomcat/tomcat-11/v11.0.5/bin/apache-tomcat-11.0.5.tar.gz
下载最新版本:apache-tomcat-11.0.5.tar.gz
上传安装包apache-tomcat-11.0.5.tar.gz到/usr/local/src/目录下
4.2安装tomcat
cd /usr/local/src/
tar xzf apache-tomcat-11.0.5.tar.gz -C /data/server/
mv /data/server/apache-tomcat-11.0.5 /data/server/tomcat
#启动tomcat
/data/server/tomcat/bin/startup.sh
浏览器打开:
http://192.168.21.190:8080/
能正常访问,说明tomcat安装成功
#关闭tomcat
/data/server/tomcat/bin/shutdown.sh
4.3设置tomcat为系统服务
4.3.1添加tomcat运行账号和组
groupadd tomcat
useradd -g tomcat tomcat -s /bin/false
#设置权限
chown tomcat.tomcat /data/server/tomcat -R
chmod 755 /data/server/tomcat -R
4.3.2创建jenkins_home目录
#我们使用tomcat来运行jenkins需要设置jenkins_home目录
mkdir -p /data/server/tomcat/jenkins_home
#设置权限
chown tomcat.tomcat /data/server/tomcat/jenkins_home -R
chmod 755 /data/server/tomcat/jenkins_home -R
4.3.3添加tomcat为系统服务
vi /etc/systemd/system/tomcat.service
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target
[Service]
Type=forking
# 设置运行 Tomcat 的用户和组
User=tomcat
Group=tomcat
# 环境变量
Environment=JENKINS_HOME=/data/server/tomcat/jenkins_home
Environment=JAVA_HOME=/data/server/java/jdk-21.0.6+7
Environment=CATALINA_PID=/data/server/tomcat/logs/tomcat.pid
Environment=CATALINA_HOME=/data/server/tomcat
Environment=CATALINA_BASE=/data/server/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
# 启动和停止命令
ExecStart=/data/server/tomcat/bin/startup.sh
ExecStop=/data/server/tomcat/bin/shutdown.sh
# 工作目录
WorkingDirectory=/data/server/tomcat
# 重启策略
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
:wq! #保存退出
systemctl daemon-reload
systemctl restart tomcat
systemctl status tomcat
systemctl stop tomcat
systemctl enable tomcat
5、安装jenkins
jenkins版本要与jdk版本对应,否则启动jenkins失败
https://www.jenkins.io/doc/book/platform-information/support-policy-java/
5.1下载jenkins
官方网站:
https://www.jenkins.io/download/
https://github.com/jenkinsci/jenkins
下载地址:
https://get.jenkins.io/war/2.500/jenkins.war
https://github.com/jenkinsci/jenkins/releases/download/jenkins-2.500/jenkins.war
上传安装包jenkins.war到/usr/local/src/目录下
拷贝jenkins安装包拷贝到tomcat的webapps目录下
cp /usr/local/src/jenkins.war /data/server/tomcat/webapps
5.2安装字体库,否则jenkins启动失败
yum install dejavu-sans-fonts fontawesome-fonts fontconfig fonts-filesystem ttmkfdir fontconfig-devel fontconfig freetype*
5.3测试jenkins
#执行下面的操作没有返回错误信息,页面http://192.168.21.190:8080能正常访问,说明jenkins启动正常
cd /data/server/tomcat/webapps
java -DJENKINS_HOME=/data/server/tomcat/jenkins_home -jar jenkins.war --httpPort=8080
5.4使用tomcat系统服务运行jenkins
#设置权限
chown tomcat.tomcat /data/server/tomcat -R
chmod 755 /data/server/tomcat -R
#重启tomcat
systemctl daemon-reload
systemctl restart tomcat
浏览器打开:
http://192.168.21.190:8080/jenkins
5.5让jenkins在根目录运行
#停止tomcat
systemctl stop tomcat
#把jenkins的war文件部署为tomcat的ROOT应用
mv /data/server/tomcat/webapps/ROOT /data/server/tomcat/webapps/ROOT.bak
#将jenkins的war文件复制到tomcat的webapps目录下,并重命名为ROOT.war
mv /data/server/tomcat/webapps/jenkins.war /data/server/tomcat/webapps/ROOT.war
#重启tomcat
systemctl restart tomcat
浏览器打开:http://192.168.21.190:8080/
页面正常访问,说明设置成功
5.6修改tomcat默认端口8080为8081端口
#停止tomcat
systemctl stop tomcat
cp /data/server/tomcat/conf/server.xml /data/server/tomcat/conf/server.xml.bak
vi /data/server/tomcat/conf/server.xml
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
:wq! #保存退出
#设置权限
chown tomcat.tomcat /data/server/tomcat -R
chmod 755 /data/server/tomcat -R
#重启tomcat
systemctl restart tomcat
浏览器打开:http://192.168.21.190:8081/
页面正常访问,说明设置成功
5.7登录Jenkins
浏览器打开:http://192.168.21.190:8081/
#查看密码
cat /data/server/tomcat/jenkins_home/secrets/initialAdminPassword
输入密码,点继续。
一般选择安装推荐的插件就行,会自动安装。
创建第一个管理员用户界面,也可以使用admin账户继续
修改admin的密码
至此,Linux系统下安装部署Jenkins完成。



