当前位置: 代码网 > it编程>编程语言>Java > jenkins持续自动化发布、集成实践

jenkins持续自动化发布、集成实践

2026年02月11日 Java 我要评论
1. jenkins部署环境1-1.服务器准备hostnameip地址安装包jenkins-node0310.1.1.13jdk/jenkinsnginx-node0410.1.1.14tomcat/

1. jenkins部署环境

1-1.服务器准备

hostnameip地址安装包
jenkins-node0310.1.1.13jdk/jenkins
nginx-node0410.1.1.14tomcat/jdk

1-2.关闭防火墙

##临时关闭firewalld防火墙,重启服务器失效
systemctl stop firewalld
##永久关闭firewalld防火墙,必须重启服务器生效
systemctl disable firewalld

1-3.主机名解析

echo 10.1.1.13  jenkins-node03 >>/etc/hosts
echo 10.1.1.14  nginx-node04 >>/etc/hosts

1-4.配置dns server服务器ip地址

echo nameserver 202.96.128.86 >>/etc/resolv.conf 

1-5.关闭selinux

##临时关闭,服务器重启失效
setenforce 0
##永久关闭,服务器重启生效,与setenforce一起使用,就可以不用重启服务器
sed -i 's#selinux=enforcing#selinux=disabled#g' /etc/selinux/config
##查看当前selinux状态
getenforce

2. 部署tomcat+java(10.1.1.14)

2-1.下载、解压、安装tomcat

wget http://us.mirrors.quenda.co/apache/tomcat/tomcat-8/v8.5.50/src/apache-tomcat-8.5.50-src.tar.gz
tar -xf apache-tomcat-8.5.50-src.tar.gz
mv apache-tomcat-8.5.50 /usr/local/apache-tomcat-8.5.50
ln -s /usr/local/apache-tomcat-8.5.50 /usr/local/apache-tomcat

2-2.下载安装jdk

##这下载有点麻烦,需要注册才能下载
wget https://download.oracle.com/otn/java/jdk/8u231-b11/5b13a193868b4bf28bcb45c792fce896/jdk-8u231-linux-x64.tar.gz?authparam=1577439692_6cc578b66f85128ed13aa7d02d86cf16
##解压
tar -xf jdk-8u101-linux-x64.tar.gz
##把jdk包放在/usr/local/目录下,这是个人习惯。(一看目录就知道是哪个版本)
mv jdk1.8.0_101 /usr/local/jdk1.8.0_101
ln -s /usr/local/jdk1.8.0_101 /usr/local/java

2-3.java环境配置

echo 'export java_home=/usr/local/java/' /etc/profile
echo 'export path=$path:$java_home/bin' >>/etc/profile
tail /etc/profile

2-4.查看java版本

java -version

2-5.修改apache-tomcat配置

修改/usr/local/apache-tomcat/conf/tomcat-users.xml

vim /usr/local/apache-tomcat/conf/tomcat-users.xml
tail /usr/local/apache-tomcat/conf/tomcat-users.xml
##添加以下内容,注意一定要在</tomcat-users>以内
##---------------------------------------------
<role rolename="admin"/> 
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/><user name="admin" password="qaz123" roles="admin,manager,admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status" />
#--------------------------------------------------------
##user name="admin":管理员admin  
##password="qaz123":管理员密码
##roles:角色
</tomcat-users>

修改/usr/local/tomcat8/webapps/manager/meta-inf/context.xml

vim /usr/local/tomcat8/webapps/manager/meta-inf/context.xml
<context antiresourcelocking="false" privileged="true" >
  <valve classname="org.apache.catalina.valves.remoteaddrvalve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|10.1.1.*" />
  <manager sessionattributevalueclassnamefilter="java\.lang\.(?:boolean|integer|long|number|string)|org\.apache\.catalina\.filters\.csrfpreventionfilter\$lrucache(?:\$1)?|java\.util\.(?:linked)?hashmap"/>
</context>
##allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|10.1.1.*":允许的主机ip段或者ip地址,多个用“|”分隔

2-6.浏览器登录10.1.1.14:8080

2-7.点击manager_webapp进入后台

后台界面,jenkins可以通过 "应用程序"栏中的“命令”对tomcat操作

3. 部署jenkins+java(10.1.1.13)

3-1.安装jenkins(java安装就不说了,上面有)

官方文档安装方法:https://wiki.jenkins.io/display/jenkins/installing+jenkins+on+red+hat+distributions可以参考

##配置jenkins.repo源
wget -o /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo
##安装key
rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
##如果你现在就yum install -y jenkins安装下载很慢,必须得配置国内源,https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/这个清华大学yum源
##修改jenkins.repo源,这个仅供参考
cat /etc/yum.repos.d/jenkins.repo 
[jenkins]
name=jenkins-stable
baseurl=https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/
gpgcheck=1
##安装jenkins
yum install -y jenkins

3-2.启动jenkins.service

systemctl start jenkins.service
job for jenkins.service failed because the control process exited with error code. see "systemctl status jenkins.service" and"journalctl -xe" for details.
##发现报错,蛋痛。。按提示操作
systemctl status jenkins.service
● jenkins.service - lsb: jenkins automation server
   loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled)
   active: failed (result: exit-code) since fri 2019-12-27 16:42:13 cst; 12s ago
     docs: man:systemd-sysv-generator(8)
  process: 22089 execstart=/etc/rc.d/init.d/jenkins start (code=exited, status=1/failure)
dec 27 16:42:13 jenkins-node03 systemd[1]: starting lsb: jenkins automation server...
dec 27 16:42:13 jenkins-node03 runuser[22094]: pam_unix(runuser:session): session opened for user jenkins by (uid=0)
dec 27 16:42:13 jenkins-node03 jenkins[22089]: starting jenkins bash: /usr/bin/java: no such file or directory
dec 27 16:42:13 jenkins-node03 runuser[22094]: pam_unix(runuser:session): session closed for user jenkins
dec 27 16:42:13 jenkins-node03 jenkins[22089]: [failed]
dec 27 16:42:13 jenkins-node03 systemd[1]: jenkins.service: control process exited, code=exited status=1
dec 27 16:42:13 jenkins-node03 systemd[1]: failed to start lsb: jenkins automation server.
dec 27 16:42:13 jenkins-node03 systemd[1]: unit jenkins.service entered failed state.
dec 27 16:42:13 jenkins-node03 systemd[1]: jenkins.service failed.
##发现没起来,报错找不到java命令路径
##解决方法:
which java
  /usr/local/java/bin/java
vi /etc/init.d/jenkins
##找到下面的内容
# search usable java as /usr/bin/java might not point to minimal version required by jenkins.
# see http://www.nabble.com/guinea-pigs-wanted-----hudson-rpm-for-redhat-linux-td25673707.html
candidates="
/etc/alternatives/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/lib/jvm/java-1.7.0/bin/java
/usr/lib/jvm/jre-1.7.0/bin/java
/usr/lib/jvm/java-11.0/bin/java
/usr/lib/jvm/jre-11.0/bin/java
/usr/lib/jvm/java-11-openjdk-amd64
##/usr/bin/java改为你java的路径/usr/local/java/bin/java
# /usr/bin/java
/usr/local/java/bin/java
systemctl start jenkins
warning: jenkins.service changed on disk. run 'systemctl daemon-reload' to reload units.##有警告,按照提示操作
systemctl daemon-reload
##起来了--哈哈
ps -ef |grep jenkins
jenkins   22133      1 99 16:46 ?        00:00:33 /usr/local/java/bin/java -dcom.sun.akuma.daemon=daemonized -djava.awt.headless=true -djenkins_home=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --daemon --httpport=8080 --debug=5 --handlercountmax=100 --handlercountmaxidle=20

3-3.浏览器登录10.1.1.13:8080

需要administrator password 去提示的路径复制密码

cat /var/lib/jenkins/secrets/initialadminpassword
c0987be1629e404aa2b3d5f6bb25aef6

接下来按照提示操作,就ok了

4.java项目配置(jenkins服务器)

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com