手动和使用Jenkins部署Java项目

14 篇文章 0 订阅

手动部署Java项目

拉取代码

[root@localhost opt]# git clone https://gitee.com/forgotten/tomcat-java-demo.git
正克隆到 'tomcat-java-demo'...
remote: Enumerating objects: 558, done.
remote: Counting objects: 100% (558/558), done.
remote: Compressing objects: 100% (316/316), done.
remote: Total 558 (delta 217), reused 558 (delta 217), pack-reused 0
接收对象中: 100% (558/558), 5.08 MiB | 556.00 KiB/s, 完成.
处理 delta 中: 100% (217/217), 完成.
root@localhost opt]# ls
tomcat-java-demo
[root@localhost opt]# ls tomcat-java-demo/
db  deploy.yaml  Dockerfile  jenkinsfile  LICENSE  pom.xml  README.md  src

打包文件

[root@localhost opt]# yum -y install maven
[root@localhost opt]# cd tomcat-java-demo/
[root@localhost tomcat-java-demo]# mvn clean package 
[INFO] Packaging webapp
[INFO] Assembling webapp [ly-simple-tomcat] in [/opt/tomcat-java-demo/target/ly-simple-tomcat-0.0.1-SNAPSHOT]
[INFO] Processing war project
[INFO] Webapp assembled in [170 msecs]
[INFO] Building war: /opt/tomcat-java-demo/target/ly-simple-tomcat-0.0.1-SNAPSHOT.war
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.630 s
[INFO] Finished at: 2021-10-19T04:16:56-04:00
[INFO] ------------------------------------------------------------------------
[root@localhost tomcat-java-demo]# ls
db  deploy.yaml  Dockerfile  jenkinsfile  LICENSE  pom.xml  README.md  src  target
[root@localhost 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@localhost tomcat-java-demo]# mv target/ly-simple-tomcat-0.0.1-SNAPSHOT.war target/myapp.war
[root@localhost target]# ls
classes            ly-simple-tomcat-0.0.1-SNAPSHOT  maven-status
generated-sources  maven-archiver                   myapp.war

将包文件传送过去

[root@localhost tomcat-java-demo]# scp target/myapp.war root@192.168.101.120:/usr/local/tomcat/webapps
myapp.war                                                    100%   17MB 143.2MB/s   00:00    

在这里插入图片描述

自动部署Java项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

查看打的包


[root@localhost tomcat-java-demo]# cd /root/.jenkins/workspace/
[root@localhost workspace]# ls
Java  Java@2  Java@2@tmp  Java@tmp
[root@localhost workspace]# ls Java
db  deploy.yaml  Dockerfile  jenkinsfile  LICENSE  pom.xml  README.md  src  target
[root@localhost workspace]# ls Java/target/
classes            ly-simple-tomcat-0.0.1-SNAPSHOT      maven-archiver
generated-sources  ly-simple-tomcat-0.0.1-SNAPSHOT.war  maven-status

在tomcat主机上创建备份

[root@localhost webapps]# 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'

                // 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 {
                //备份
                sh "ssh root@192.168.101.120 'tar -Jcf /opt/backup/myapp-\$(data +%Y%m%d).tar.xz  /usr/local/tomcat/webapps/myapp'"
                sh "scp target/myapp.war root@192.168.101.120:/usr/local/tomcat/webapps"
                sh "/usr/local/tomcat/bin/configtest.sh stop;sleep 3"
                sh "/usr/local/tomcat/bin/configtest.sh start"
                
            }
        }
    }
}

在这里插入图片描述
使用IP访问测试
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值