Jenkins发布Java项目

Jenkins发布Java项目,第1张

Jenkins发布Java项目 Jenkins发布Java项目

发布Java项目步骤:

  • 拉取代码并打包
  • 备份原程序
  • 拷贝新程序到服务器的webapps中,停一会(sleep)修改配置
  • 重启tomcat
手动发布java项目
  • 环境
主机IP软件环境jenkins端192.168.218.132tomcat、jenkinsserver端192.168.218.133tomcat
  • 拉取代码并打包
//安装git和maven
[root@jenkins ~]# yum -y install git  maven

//拉取代码
[root@jenkins opt]# git clone https://gitee.com/forgotten/tomcat-java-demo.git

//打包,打包时为了避免我们运维人员背锅,需要根据你们公司开发人员的打包方式来打包,三种打包方式maven、gradle、ant,公司开发需要哪种打包方式我们就使用哪种,我这里使用maven
[root@jenkins opt]# ls 
tomcat-java-demo
[root@jenkins opt]# cd tomcat-java-demo/
[root@jenkins tomcat-java-demo]# ls 
db           Dockerfile   LICENSE  README.md
deploy.yaml  jenkinsfile  pom.xml  src         //项目里含有pom.xml文件的都是根据maven方式打包
[root@jenkins tomcat-java-demo]# mvn clean package    //打包
[root@jenkins tomcat-java-demo]# ls 
db           Dockerfile   LICENSE  README.md  target
deploy.yaml  jenkinsfile  pom.xml  src     //打包完成以后多了target目录
[root@jenkins tomcat-java-demo]# cd target/
[root@jenkins target]# ls 
classes
generated-sources
ly-simple-tomcat-0.0.1-SNAPSHOT
ly-simple-tomcat-0.0.1-SNAPSHOT.war    //打的包
maven-archiver
maven-status
//若感觉打的包名字太长,可以修改
[root@jenkins tomcat-java-demo]# mv target/ly-simple-tomcat-0.0.1-SNAPSHOT.war target/myapp.war
  • 备份原程序
    因为此次是第一次发布,暂时没有原程序需要备份,在实际生产环境中是需要备份原程序的。

  • 发布到服务器webapps

//因为需要发布到服务器主机,所以需要提前做好免密登录,防止输入密码

//发布
[root@jenkins tomcat-java-demo]# scp target/myapp.war root@192.168.218.133:/usr/local/tomcat/webapps/
myapp                          100%   17MB  54.4MB/s   00:00
//服务器主机查看
[root@server webapps]# ls 
docs  examples  host-manager  manager  myapp  myapp.war  ROOT   //已自动解压

//因为我们这是在测试发布,所以不需要修改配置文件,在实际生成环境中是需要修改配置文件的,修改完配置文件重启tomcat
  • 网页访问测试

    看到此界面我们手动发布完成
使用jenkins发布

使用jenkins发布和手动发布步骤是一样的,但是需要把手动发布的步骤写到jenkins项目中,就像再写脚本

  • 创建项目

  • 测试拉取项目并打包

  • 在jenkin端查看是否打包成功
[root@jenkins ~]# cd .jenkins/workspace/
[root@jenkins workspace]# ls 
demo1  demo1@tmp
[root@jenkins workspace]# cd demo1
[root@jenkins demo1]# ls 
db           Dockerfile   LICENSE  README.md  target
deploy.yaml  jenkinsfile  pom.xml  src
[root@jenkins demo1]# cd target/
[root@jenkins target]# ls 
classes
generated-sources
ly-simple-tomcat-0.0.1-SNAPSHOT
ly-simple-tomcat-0.0.1-SNAPSHOT.war     //此包就是刚才我们所打的包
maven-archiver
maven-status

如果打包名字过长我们可以修改一下

应用保存,然后重新构建,在jenkins端重新查看代码打包名称

[root@jenkins ~]# ls .jenkins/workspace/demo1/target/
classes            ly-simple-tomcat-0.0.1-SNAPSHOT  maven-status
generated-sources  maven-archiver                   myapp.war
//已被修改为myapp.war
  • 备份原程序(服务端)
    因为我们之前手动发布过一次项目,就相当于有了一次原程序,所以现在演示备份原程序
    为了实现标准化,我们可以创建一个专门的目录来放置备份原程序
[root@server opt]# mkdir backup
//把所有的原程序备份放置在这里

//命令行测试备份原程序,备份时可以添加上时间日期,便于区别
[root@server ~]# tar -Jcf /opt/backup/myapp-$(date +%Y%m%d%H%M).tar.xz /usr/local/tomcat/webapps/myapp
[root@server backup]# ls 
myapp-202110201052.tar.xz

//测试在jenkins端远程连接备份
[root@jenkins ~]# ssh root@192.168.218.133 'tar -Jcf /opt/backup/myapp-$(date +%Y%m%d%H%M).tar.xz /usr/local/tomcat/webapps/myapp
'tar: Removing leading `/' from member names
[root@server backup]# ls 
myapp-202110201052.tar.xz  myapp-202110201054.tar.xz   //远程连接备份成功
  • 备份、拷贝新程序到服务器的webapps中,停一会(sleep)修改配置、重启服务写入流水线

    应用保存并构建

  • 网页访问

    java项目发布完成

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4668101.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-06
下一篇 2022-11-06

发表评论

登录后才能评论

评论列表(0条)

保存