栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Jenkins发布Java项目

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Jenkins发布Java项目

Jenkins发布Java项目
  • 1、关闭防火墙和selinux
  • 2、手动发布Java项目
  • 3、Jenkins 半自动发布 Java项目

本次实验的前提是具备以下表格要求,并且要做免密登陆

主机名IP软件环境
Jenkins192.168.164.133tomcat、jenkins
server192.168.164.137tomcat

Java程序发布步骤:
1、拉取代码并打包
2、备份原程序
3、拷贝新程序到服务器的webapps目录中,停一会修改配置
4、重启tomcat
5、验证

1、关闭防火墙和selinux

两台主机都需要操作

[root@jenkins ~]# systemctl disable --now firewalld
[root@jenkins ~]# setenforce 0   //临时关闭
[root@jenkins ~]# vim /etc/selinux/config   //永久关闭
SELINUX=disabled
2、手动发布Java项目
//下载拉取代码的软件包和打包代码的软件包
[root@jenkins ~]# yum -y install git
[root@jenkins ~]# yum -y install maven-1:3.5.4-5.module_el8.0.0+39+6a9b6e22.noarch

//拉取代码
[root@jenkins ~]# git clone https://gitee.com/forgotten/tomcat-java-demo.git
[root@jenkins ~]# ls
anaconda-ks.cfg  tomcat-java-demo

//打包代码
[root@jenkins tomcat-java-demo]# ls
db  deploy.yaml  Dockerfile  jenkinsfile  LICENSE  pom.xml  README.md  src
[root@jenkins tomcat-java-demo]# mvn clean package 
[root@jenkins tomcat-java-demo]# ls
db  deploy.yaml  Dockerfile  jenkinsfile  LICENSE  pom.xml  README.md  src  target

//拷贝war包到server主机上的/root/tomcat/webapps目录下
[root@jenkins tomcat-java-demo]# ls target/
classes            ly-simple-tomcat-0.0.1-SNAPSHOT      maven-archiver
generated-sources  ly-simple-tomcat-0.0.1-SNAPSHOT.war  maven-status
[root@jenkins tomcat-java-demo]# mv target/ly-simple-tomcat-0.0.1-SNAPSHOT.war target/app.war
[root@jenkins tomcat-java-demo]# ls target/
classes  generated-sources  ly-simple-tomcat-0.0.1-SNAPSHOT  maven-archiver  maven-status  app.war
[root@jenkins tomcat-java-demo]# scp target/app.war root@192.168.164.137:/root/tomcat/webapps/
app.war                                                             100%   17MB 123.8MB/s   00:00    

//tomcat自动解压war包
[root@server ~]# ls /root/tomcat/webapps/
docs  examples  host-manager  manager  app  app.war  ROOT


[root@jenkins ~]# ss -antl
State   Recv-Q  Send-Q        Local Address:Port   Peer Address:Port 
LISTEN  0       128                 0.0.0.0:22          0.0.0.0:*    
LISTEN  0       1        [::ffff:127.0.0.1]:8005              *:*    
LISTEN  0       100                       *:8080              *:*    
LISTEN  0       128                    [::]:22             [::]:*    
[root@jenkins ~]# 
3、Jenkins 半自动发布 Java项目

在服务端创建一个接受文件的目录

[root@server ~]# mkdir /opt/backup




脚本:

pipeline {
    agent any

    stages {
        stage('Build') {
            steps {
                // Get some code from a GitHub repository
                git 'https://gitee.com/forgotten/tomcat-java-demo.git'   #拉取Java代码

                // Run Maven on a Unix agent.
                sh '''
                    mvn -Dmaven.test.failure.ignore=true clean package		#打包文件,并忽略错误
                    mv target/ly-simple-tomcat-0.0.1-SNAPSHOT.war target/app.war	#更改打包的文件名
                '''

                // To run Maven on a Windows agent, use
            }
        }
        stage("publish"){
            steps{
                sh '''
                    ssh root@192.168.164.137 'tar -Jcf /opt/backup/app-$(date +%Y%m%d%H%M).tar.xz /root/tomcat/webapps/app'		#备份server主机上的原war包,以便回滚
                    scp target/app.war root@192.168.164.137:/root/tomcat/webapps/		#将打好的包cp至server主机
                    ssh root@192.168.164.137 '/uroot/tomcat/bin/catalina.sh stop'		#关闭tomcat服务
                    sleep 3																	#休息3秒
                    ssh root@192.168.164.137 '/root/tomcat/bin/catalina.sh start'		#开启服务
                '''
            }
        }
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/336628.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号