前言
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进行下载即可。
好啦,快去尝试下吧~