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.2 优化JVM

 1.3 开启GC日志

 1.4 开启JMX端口

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

2 部署安装Jenkins

 2.1 获取war包

 2.2 上传war包

 2.3 启动Tomcat

 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进行下载即可。

好啦,快去尝试下吧~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/256574.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

luttuce(RedisTempate)实现hash(动态数据) expire lua脚本

话不多说先放脚本: local argv ARGV local length #argv if length > 0 then local unpackArgs {} for i 1, length - 1 dotable.insert(unpackArgs, argv[i]) end if redis.call(exists, KEYS[1]) 1 thenredis.call(del, KEYS[1])redis.call(hset, KEYS[…

在vue中通过js动态绘制table,并且合并连续相同内容的行,支持点击编辑单元格内容

首先是vue代码 <template><div id"body-container"style"position: absolute"><div class"box-container"><div class"lsb-table-box" ><div class"table-container" id"lsb-table"&…

final

final final关键字是最终的意思&#xff0c;可以修饰&#xff08;类、方法、变量&#xff09;修饰类&#xff1a;该类被称为最终类&#xff0c;特点是不能被继承了修饰方法&#xff1a;该方法被称为最终方法&#xff0c;特点是不能被重写了修饰变量&#xff1a;该变量只能被赋…

配置OSPF与BFD联动

组网需求 如图1所示&#xff0c;SwitchA、SwitchB和SwitchC之间运行OSPF&#xff0c;SwitchA和SwitchB之间的交换仅作透传功能。现在需要SwitchA和SwitchB能快速感应它们之间的链路状态&#xff0c;当链路SwitchA-SwitchB发生故障时&#xff0c;业务能快速切换到备份链路Switch…

springboot 集成 redis luttuce redisson ,单机 集群模式(根据不同环境读取不同环境的配置)

luttuce 和redisson配置过程中实际上是独立的&#xff0c;他们两个可以同时集成&#xff0c;但是没有直接相关关系&#xff0c;配置相对独立。 所以分为Lettuce 和 Redisson 两套配置 父pom <!-- Spring Data Redis --><dependency><groupId>org.springframe…

图像卷积操作

目录 一、互相关运算 二、卷积层 三、图像中目标的边缘检测 四、学习卷积核 五、特征映射和感受野 一、互相关运算 严格来说&#xff0c;卷积层是个错误的叫法&#xff0c;因为它所表达的运算其实是互相关运算&#xff08;cross-correlation&#xff09;&#xff0c;而不是…

hive企业级调优策略之数据倾斜

测试所用到的数据参考&#xff1a; 原文链接&#xff1a;https://blog.csdn.net/m0_52606060/article/details/135080511 本教程的计算环境为Hive on MR。计算资源的调整主要包括Yarn和MR。 数据倾斜概述 数据倾斜问题&#xff0c;通常是指参与计算的数据分布不均&#xff0…

二叉搜索树第大K节点,剑指offer,力扣

目录 题目地址&#xff1a; 题目&#xff1a; 我们直接看题解吧&#xff1a; 解题方法&#xff1a; 难度分析&#xff1a; 审题目事例提示&#xff1a; 解题分析&#xff1a; 解题思路&#xff1a; 代码实现&#xff1a; 代码补充&#xff1a; 代码实现&#xff08;非递归&…

C#中(, ||)与(, |)的区别

前言 在C#编程语言中&#xff0c;逻辑运算符用于组合和比较条件&#xff0c;以控制程序的流程和行为。在逻辑运算符中&#xff0c;有两对非常重要的运算符&#xff1a;&&和||、&和|。尽管它们看起来很相似&#xff0c;但其实它们有着不同的行为和使用场景。下面我们…

PWM实现蜂鸣器

tim4.h #ifndef __TIM4_H__ #define __TIM4_H__ #include "stm32mp1xx_rcc.h" #include "stm32mp1xx_gpio.h" #include "stm32mp1xx_tim.h" void timer4_init();#endif tim4.c #include "tim4.h"void timer4_init() {// 1. 设置GPI…

实践代码教你学会 Metasploit 渗透攻击【Ubuntu版本】

文章目录 一. Metasploit 渗透工具二. 安装配置三. 模块讲解3.1 auxiliary-辅助模块3.2 exploit-渗透攻击模块3.3 payload-攻击荷载模块 四. 模拟攻击4.1 准备工作4.2 漏洞探测4.3 漏洞利用4.4 后渗透操作 一. Metasploit 渗透工具 Metasploit Framework(MSF)是一款开源安全漏洞…

盘帮帮微淘客公众号系统2.0-查券返利机器人、赶快行动起来吧,很好的赚钱机会!

本插件使用uniCloud开发&#xff0c;使用本插件默认您已知晓并了解uniCloud&#xff01; 插件下载地址&#xff1a;点击查看 盘帮帮微淘客公众号系统2.0&#xff0c;可以将你的微信公众号变成智能AI查券返利机器人、帮助网购者全网搜券找券&#xff0c;网购者只需将商品链接和…

【ranger】CDP环境 更新 ranger 权限策略会发生低概率丢失权限策略的解决方法

一、问题描述&#xff1a; 我们的 kafka 服务在更新&#xff08;添加&#xff09; ranger 权限时&#xff0c;会有极低的概率导致 MM2 同步服务报错&#xff0c;报错内容 Not Authorized。但是查看 ranger 权限是赋予的&#xff0c;并且很早配置的权限策略也会报错。 相关组件…

物流运输CRM:让日常工作有条不紊

很多物流行业的企业主都有这样的烦恼&#xff1a;客户来自各行各业&#xff0c;很难细分管理&#xff1b;业务量大庞大&#xff0c;工作很难细化&#xff1b;客户满意度低&#xff0c;缺乏售后跟踪......如果您也面临相同的问题&#xff0c;那么该让CRM管理系统登场啦&#xff…

低代码工作流,在业务场景下启动流程节点绑定的具体步骤与注意事项

在业务管理的场景下&#xff0c;存在先做了对应的数据管理&#xff0c;后续增加管理的规范度&#xff0c;“在业务数据变化时发起流程”的需求&#xff0c;那么这种情况下就需要在业务管理&#xff08;列表页、表单&#xff09;中发起流程&#xff0c;让业务模型使用流程配置&a…

【Python炫酷系列】一闪一闪亮星星,漫天都是小星星(完整代码)

文章目录 环境需求完整代码详细分析系列文章环境需求 python3.11.4及以上版本PyCharm Community Edition 2023.2.5pyinstaller6.2.0(可选,这个库用于打包,使程序没有python环境也可以运行,如果想发给好朋友的话需要这个库哦~)【注】 python环境搭建请见:https://want595.…

STM32_窗口看门狗

什么是窗口看门狗&#xff1f; 窗口看门狗用于监测单片机程序运行时效是否精准&#xff0c;主要检测软件异常&#xff0c;一般用于需要精准检测 程序运行时间的场合。 窗口看门狗的本质是一个能产生 系统复位信号 和 提前唤醒中断 的 6 位计数器 产生复位条件&#xff1a; 当…

Moonbeam生态项目分析 — — 跨链借贷协议Orbiter One

概览 Orbiter One是一个非托管的借贷协议和DeFi中心&#xff0c;专注于跨链互操作性。通过使用从借贷中赚取的ORB Token铸造的Intergactic Whiskers Brigade NFT&#xff0c;用户可以质押并获得额外奖励&#xff0c;借贷和跨链存款则可以在不离开Moonbeam的情况下无缝参与其他…

Web自动化框架中验证码识别处理全攻略,让测试更得心应手!

前言&#xff1a; 随着Web应用程序的不断发展&#xff0c;自动化测试已成为项目开发中必不可少的一环。然而&#xff0c;验证码的出现却经常会使自动化测试变得更具挑战性。为了解决这个问题&#xff0c;我们需要一种方法来自动识别和处理验证码&#xff0c;从而提高自动化测试…

AD20基础操作

1、编译检查项 需要重点检查的&#xff0c;设置为致命错误 点击Messages查看编译结果&#xff1a; 2、添加封装 快捷键M,选择X,Y移动选择对象 编辑偏移量后确定。 另一种快捷方式&#xff1a; CtrlD查看3D模型