tomcat+jenkins搭配所遇问题

1、这些环境的基础条件时jdk,所以首先下载的是jdk1.8.0.181(yum list  installed | grep java 查找java目前的版本有哪些)

2、使用wget去下载对应的tomcat版本,下载完后解压放入usl/local下并重命名为tomcat8

3、使用tomcat下载jenkins.war报放入tomcat下的webapp下 

在tomcat8 bin目录下执行./startup.sh 会提示成功,但是在本地无妨访问,这时候需要进入到tomcat8 的logs目录下执行tail -f catalina.out命令查看报错,一般都是端口被占用,可以使用netstat -anp 查看8080端口被谁占用,也可以进入到tomcat9下面的conf/server.xml里修改端口号

默认密码在ip:8081访问的路径是在tomcat8下面的webapp目录下

在这个时候虽然成功进入到jenkins配置目录,但是此时我输入密码点击确定,却出现了页面白屏,在后续的刷新中一致会出现超时连接失败,寻找了很久才知道是因为iptable的问题,在centos7这种,iptables已经不归属与service而是归属于systemctl执行,相关的配置网上有,可以执行systemctl enable iptables 让每次开机自动启动防火墙,相关的关闭则是 systemctl stop iptables.service

上面的主要原因是linux开启了防火墙,有两种解决方案,一种是关闭防火墙,另外一种是开放所要访问的端口

1、关闭防火墙(非常不建议)

service iptables stop --停止

service iptables start --启动

2、使用命令开放端口

首先查看一下本机防火墙现有的规则列表:

使用命令:iptables -L --line-number

以下显示的是INPUT链的规则

Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22 
5    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 
由表格可以看出,linux只开放了端口22,因此我们需要把tomcat的端口(我这里是8080)加入进去,在这里需要注意规则的最后一条,也就是第5条,对于规则来讲是链式的,最后一条意思是拒绝所有,那么对于所有在第5条之后追加的规则都是无效的,因此我们需要把规则插入到第5条之前,而不能在最后一条追加,具体插入命令如下:

iptables -I INPUT 5 -m  state  --state  NEW  -m  tcp  -p  tcp  --dport  8080  -j  ACCEPT

红色部分为tomcat服务器端口

这条命令执行完成之后,主机就可以访问tom

关于centos7防火墙的设置

操作系统环境:CentOS Linux release 7.0.1406(Core) 64位
CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙步骤。

1、关闭firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

2、iptables防火墙(这里iptables已经安装,下面进行配置)
vi/etc/sysconfig/iptables #编辑防火墙配置文件
# sampleconfiguration for iptables service
# you can edit thismanually or use system-config-firewall
# please do not askus 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 -jACCEPT
-A INPUT -i lo -jACCEPT
-A INPUT -p tcp -mstate --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -jACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080-j ACCEPT
-A INPUT -j REJECT--reject-with icmp-host-prohibited
-A FORWARD -jREJECT --reject-with icmp-host-prohibited
COMMIT
:wq! #保存退出

备注:这里使用80和8080端口为例。***部分一般添加到“-A INPUT -p tcp -m state --state NEW -m tcp--dport 22 -j ACCEPT”行的上面或者下面,切记不要添加到最后一行,否则防火墙重启后不生效。
systemctlrestart iptables.service #最后重启防火墙使配置生效
systemctlenable iptables.service #设置防火墙开机启动

jenkins配置

jenkins默认账号是admin 密码在/root/.jenkins/secrets的initialAdminPassword文件里

登录进去可以去系统管理/安全中心勾选进入主页面可以注册账号

系统管理/安装插件会发现可选插件无法点击然后点击高级里最下面的立即获取按钮发现出错,此时这里面最底下有个【升级站点】,把其中的链接改成http的就好了,http://updates.jenkins.io/update-center.json。 然后在服务列表中关闭jenkins,再启动,这样就能正常联网了。 ,然后重启tomcat在进入该页面点击立即获取,然后返回到安装插件页面点击可选插件,此时就可以看到下面的插件了

 jenkins插件推荐:

Ant Plugin、Build Timeout、Deploy to container Plugin、Email Extension Plugin、

GitHub API Plugin、Gradle Plugin、LDAP Plugin、Maven Release Plugin-in Plugin-in、

PAM Authentication plugin、Pipeline、Pipeline: GitHub Groovy Libraries、

Publish Over SSH、SSH Slaves plugin、Subversion Plug-in、Timestamper、

Workspace Cleanup Plugin

 

 

重点在后续jenkins配置时配置java_home时一直出错,纠结了一天,最后是朋友的建议不要使用open_jdk 建议使用oracle的,所以又去windows上下载完,在上传到linux上,建议不要使用wger直接在linux下载,因为链接有问题,无法下载完,所以解压的时候就会报错

在linxu下载完加压到/usr/java下面然后去配置 /etc/profile里配置环境 

export JAVA_HOME=/usr/java/jdk1.8.0_181
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin

然后保存后点击source /etc/profile 报错的同学可以使使用 locate source /etc/profile

原文地址:https://www.cnblogs.com/ceshizhilu/p/9549863.html