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默认访问日志中Referer 和User-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进行下载即可。

好啦,快去尝试下吧~

相关推荐
Zhou1411361 天前
CICD_01_持续集成与Jenkins入门
运维·ci/cd·jenkins
大貔貅喝啤酒1 天前
Gitea+Jenkins+Docker 搭建 Node 项目 CI/CD 自动部署完整教程
ci/cd·docker·jenkins·js·gitea
王闯写bug2 天前
tomcat老版本下载tomcat8.5下载
java·tomcat
白帽攻防录2 天前
SRC 挖洞:Apache Tomcat 加密拦截器绕过深度复盘,CVE-2026-34486 fail-open 一行代码怎么打穿集群通信
java·网络安全·tomcat·apache
guo_wen_qiang2 天前
jenkins流水线参数化配置
运维·docker·容器·jenkins·持续部署
何中应3 天前
Jenkins 如何给设置公司 Logo
运维·ci/cd·jenkins
何中应3 天前
Jenkins 如何配置工作节点
运维·ci/cd·jenkins
牧瀬クリスだ3 天前
Mybatis-Plus:让CRUD快如闪电
java·spring boot·spring·tomcat·mybatis·yml
晨小安4 天前
ThreadLocal及其内存泄漏问题深度解析
java·jvm·tomcat·哈希表
景熙55234 天前
JDBC 详解:从原理到实战(含完整可运行 Demo)
java·spring·tomcat·mybatis·jdbc