发布Java项目步骤:
- 拉取代码并打包
- 备份原程序
- 拷贝新程序到服务器的webapps中,停一会(sleep)修改配置
- 重启tomcat
- 环境
- 拉取代码并打包
//安装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项目中,就像再写脚本
- 创建项目
- 测试拉取项目并打包
- 在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项目发布完成
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)