Tomcat 部署安装Jenkins

前言

Jenkins 是一款开源的持续集成工具,可以自动化地构建、测试和部署软件项目。它支持很多软件开发的工具和技术,如 Git、Subversion、Maven、Gradle 等,提供了很多插件来扩展其功能。

Jenkins 具有以下特点:

(1)开源免费:Jenkins 是一款免费的开源软件,任何人都可以下载和使用。

(2)易于安装和配置:Jenkins 的安装和配置非常简单,用户只需按照官方文档的指导即可。

(3)支持多种语言和技术:Jenkins 支持多种语言和技术,如 Java、Ruby、Python、PHP 等。

(4)支持持续集成和持续交付:Jenkins 支持持续集成和持续交付,可以自动化地构建、测试和部署软件项目。

(5)提供丰富的插件:Jenkins 提供了很多插件,用户可以根据自己的需要来选择和安装。

(6)可扩展性强:Jenkins 的可扩展性非常强,用户可以自定义插件和配置来扩展其功能。

总之,Jenkins 是一款非常优秀的持续集成工具,可以帮助开发者自动化地构建、测试和部署软件项目,提高软件开发的效率和质量。

不知道该下载Jenkins war包哪个版本请查看:https://mirrors.jenkins.io/war-stable/

本人下载的war包:https://mirrors.jenkins.io/war-stable/2.346.1/

点击Jenkins.war即可下载。

!!! 做本实验前请确保安装了Tomcat以及JDK。

目录

[1 配置](#1 配置)

[1.1 日志格式配置](#1.1 日志格式配置)

[1.2 优化JVM](#1.2 优化JVM)

[1.3 开启GC日志](#1.3 开启GC日志)

[1.4 开启JMX端口](#1.4 开启JMX端口)

[1.5 取消JVM的默认DNS缓存时间](#1.5 取消JVM的默认DNS缓存时间)

[2 部署安装Jenkins](#2 部署安装Jenkins)

[2.1 获取war包](#2.1 获取war包)

[2.2 上传war包](#2.2 上传war包)

[2.3 启动Tomcat](#2.3 启动Tomcat)

[2.4 浏览器访问](#2.4 浏览器访问)


1 配置

1.1 日志格式配置

开启Tomcat默认访问日志中RefererUser-agent记录。

【一旦出现安全问题能够更好的根据日志进行问题排查和解决】

以我的为例,我的Tomcat安装在application目录下。

vi /application/tomcat/conf/server.xml

在%b后添加如下内容:

%{Referer}i %{User-Agent}i %D" resolveHosts="false"

1.2 优化JVM

编辑catalina.sh配置文件。

vi /application/tomcat/bin/catalina.sh

添加下列优化参数:

JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1024m -Xmx1024m -XX:NewSize=512m -XX:MaxNewSize=512m"

其中Xms为初始堆大小 (即jvm启动时分配的内存大小),Xmx为最大堆大小 (即jvm运行过程中分配的最大内存大小),我们一般将这两个值设置相同,建议均设为物理内存的一半(可以使用free -m命令查看),不能超过物理内存,以避免垃圾回收完成后jvm重新分配内存。

1.3 开启GC日志

(1)创建GC日志存放路径

mkdir -p /data0/logs/

(2)编辑catalina.sh配置文件。

vi /application/tomcat/bin/catalina.sh

在刚刚添加的优化参数后添加下列参数即可。

-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/data0/logs/gc-%t.log

-XX:+PrintGCDetails #查看 GC 详细信息

-XX:+PrintGCDateStamps #输出GC的时间戳(以日期的形式)

添加完毕后保存退出。

1.4 开启JMX端口

编辑catalina.sh配置文件。

在刚才优化参数下面添加下列内容:

CATALINA_OPTS="$CATALINA_OPTS
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=10086
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Djava.rmi.server.hostname=192.168.10.123"

jmxremote.port #开启的监听端口,可自行定义。

jmxremote.authenticate #false表示监控不需要用户和密码。

jmxremote.ssl #是否表示需要认证,我们不需要认证。

hostname #主机名(必须是DNS可解析的主机名)。

1.5 取消JVM的默认DNS缓存时间

不缓存DNS记录,避免DNS解析更改后要重启JVM虚拟机。

在刚才优化参数下面添加下列内容:

CATALINA_OPTS="$CATALINA_OPTS -Dsun.net.inetaddr.ttl=0 -Dsun.net.inetaddr.negative.ttl=0"

添加完毕后保存退出。

2 部署安装Jenkins

2.1 获取war包

Jenkins war包官方获取地址:https://www.jenkins.io/zh/download/

点击框内内容即可下载。

2.2 上传war包

将Jenkins war包上传到webapps目录下。

cd /application/tomcat/webapps/
rm -rf *
rz

2.3 启动Tomcat

在Linux命令行界面中,切换到Tomcat的bin目录,执行**./startup.sh**

/application/tomcat/bin/startup.sh

运行成功后webapps 目录下面会出现 jenkins

2.4 浏览器访问

http://IP地址:8080/jenkins/

出现如图所示情况我们复制框内内容,使用cat命令查看。

cat /root/.jenkins/secrets/initialAdminPassword

复制查询到的密码到管理员密码 ---> 点击继续

点击安装推荐的插件或者直接右上角关闭,进入Jenkins再安装也行。(安装时间过长建议直接关闭。)

这里我们点击安装推荐的插件

等待下载即可。下载完成后我们点击继续

可以直接点击使用admin账户继续或者填写创建管理员用户信息并点击保存并继续。

这里我选择使用admin账户继续

点击保存并完成

点击开始使用Jenkins

成功进入Jenkins!

我们可以点击左边的 Manage Jenkins下载一些你想安装的插件。

点击Manager Plugins

我们勾选自己想下载的插件并点击下方install without restart进行下载即可。

好啦,快去尝试下吧~

相关推荐
Lovely_red_scarf9 小时前
Jenkins系列
jenkins
程序员勋勋10 小时前
【自动化测试】如何在jenkins中搭建allure
职场和发展·jenkins·测试覆盖率
萨格拉斯救世主20 小时前
jenkins使用slave节点进行node打包报错问题处理
运维·jenkins
尢词1 天前
SpringMVC
java·spring·java-ee·tomcat·maven
清风百草1 天前
【04】【Maven项目热部署】将Maven项目热部署到远程tomcat服务器上
tomcat·maven项目热部署
Narutolxy2 天前
精准优化Elasticsearch:磁盘空间管理与性能提升技巧20241106
大数据·elasticsearch·jenkins
蒋桐城2 天前
Tomcat 启动卡住,日志显示 At least one JAR was scanned for TLDs yet contained no TLDs.
java·tomcat
qiaosaifei2 天前
SpringBoot项目中替换指定版本的tomcat
spring boot·后端·tomcat
雷神乐乐2 天前
IDEA构建JavaWeb项目,并通过Tomcat成功运行
服务器·tomcat·javaweb
陈大爷(有低保)2 天前
数据库连接池JNDI
数据库·mysql·tomcat