1. 发布java项目的步骤:
- 拉取代码并打包
mvn clean package- 备份目标服务器上已有的要发布项目
- 将包传到目标服务器的webapss目录中
需做免密登录- 重启目标服务器的tomcat服务
- 修改项目的配置
- 重启目标服务器的tomcat服务
2. 部署环境
项目要求:
两台主机上分别安装jenkins,tomcat
环境说明:
系统平台 | IP | 需要安装的服务 |
---|---|---|
rhel-8.2 | 192.168.8.137 | Jenkins |
rhel-8.2 | 192.168.8.130 | Tomcat |
2.1 Tomcat部署
//安装jdk环境
[root@localhost ~]# yum -y install java-11-openjdk*
//下载tomcat
[root@localhost ~]# cd /usr/src/
[root@localhost src]# wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.53/bin/apache-tomcat-9.0.53.tar.gz
//解压部署
[root@localhost src]# ls
apache-tomcat-9.0.53.tar.gz debug kernels
[root@localhost src]# tar xf apache-tomcat-9.0.53.tar.gz -C /usr/local/
[root@localhost src]# cd /usr/local/
[root@localhost local]# ln -s apache-tomcat-9.0.53/ tomcat
//使用service控制tomcat
[root@localhost ~]# cd /usr/lib/systemd/system
[root@localhost system]# cp sshd.service tomcat.service
[root@localhost system]# vim tomcat.service
[root@localhost system]# cat tomcat.service
[Unit]
Description=Tomcat server daemon
After=network.target sshd-keygen.target
[Service]
Type=forking
ExecStart=/usr/local/tomcat/bin/catalina.sh start
ExecStop=/usr/local/tomcat/bin/catalina.sh stop
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
[root@localhost system]# systemctl daemon-reload
[root@localhost system]# systemctl enable --now tomcat.service
Created symlink /etc/systemd/system/multi-user.target.wants/tomcat.service → /usr/lib/systemd/system/tomcat.service.
[root@localhost system]# ss -antl
State Recv-Q Send-Q Local Address:P
LISTEN 0 32 192.168.122.1:5
LISTEN 0 128 0.0.0.0:2
LISTEN 0 5 127.0.0.1:6
LISTEN 0 128 127.0.0.1:6
LISTEN 0 128 0.0.0.0:1
LISTEN 0 100 *:8
LISTEN 0 128 [::]:2
LISTEN 0 5 [::1]:6
LISTEN 0 128 [::1]:6
LISTEN 0 1 [::ffff:127.0.0.1]:8
LISTEN 0 128 [::]:1
[root@localhost system]#
2.2 Jenkins部署
Jenkins部署过程可以参考这篇文章:https://blog.csdn.net/qq_49530779/article/details/120827362?spm=1001.2014.3001.5501
//两台主机做好免密登录
[root@localhost ~]# ssh-keygen -t rsa
[root@localhost ~]# ssh-copy-id root@192.168.8.130
root@192.168.8.130's password: 1
//安装软件
[root@localhost ~]# yum -y install git maven
3. 登录Jenkins web界面
案例:需要将开发人员写好的代码进行测试,如下图
新建项目
编写脚本
当拉取的项目是私有仓库时候,需要点击流水线语法进行设置
输入仓库地址,用户名,密码生成流水线脚本
将生成好的id添加到脚本中
pipeline {
agent any
stages {
stage('Build') {
steps {
// Get some code from a GitHub repository
// git 'https://gitee.com/pengyudong/tomcat-java-demo.git'
git credentialsId: '08e4b3ab-dac8-4ebe-aee4-188fe94cb0c6', url: 'https://gitee.com/pengyudong/tomcat-java-demo.git'
// Run Maven on a Unix agent.
sh "mvn -Dmaven.test.failure.ignore=true clean package"
sh 'mv target/ly-simple-tomcat-0.0.1-SNAPSHOT.war target/myapp.war'
// To run Maven on a Windows agent, use
// bat "mvn -Dmaven.test.failure.ignore=true clean package"
}
}
stage("publish"){
steps{
//ssh root@192.168.8.130 'tar -Jcf /opt/backup/myapp-\$(date +%Y%m%d).tar.xz /usr/local/tomcat/webapps/myapp
sh "scp target/myapp.war root@192.168.8.130:/usr/local/tomcat/webapps/"
sh "ssh root@192.168.8.130 '/usr/local/tomcat/bin/catalina.sh stop'"
sleep 3
sh "ssh root@192.168.8.130 '/usr/local/tomcat/bin/catalina.sh start'"
}
}
}
}
点击构建新项目