美文网首页
java自动化发布线上项目

java自动化发布线上项目

作者: 简单coder | 来源:发表于2018-07-07 18:26 被阅读91次

自动化发布线上产品!这个很重要!对于我这种闲麻烦的懒人来说真的是必备!

准备工具:git,maven

原理很简单,贴一下图解释一下流程


把远程代码pull下来,然后用maven打包成war包,然后删除tomcat中旧的root.war,停止tomcat运行,把打包好的war包命名为root.war移动到tomcat下,延迟10秒(为了让tomcat完全停止),启动tomcat

1.git拉取项目我用的ssh连接,所以这里需要在linux上生成秘钥,这个有开经验的人应该都会,不会的百度一下即可
ssh-keygen什么的,然后去~/.ssh/下赋值id_pub的值,然后在github上添加公钥,即可pull和merge

2.为了让maven能在脚本中执行,必须将maven安装在服务器上,然后在/etc/profile中设置一下全局命令路径,然后source /etc/profile使修改生效


3.注意一下路径顺序,不要写错地址,脑子里过一下这个顺序即可

最后执行脚本,注意看看这个脚本是不是可以执行,如果不可以执行的话修改一下权限 chmod -R 744 /developer/deploy.sh


最后执行一下脚本

[root@sykcloud developer]# /developer/deploy.sh
===========进入git项目happymmall目录=============
==================git fetch======================
==================git pull======================
Already up-to-date.
===========编译并跳过单元测试====================
[INFO] Scanning for projects...
[WARNING]
[WARNING] Some problems were encountered while building the effective model for com:mmal-learning:war:1.0-SNAPSHOT
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-compiler-plugin is missing. @ line 263, column 15
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING]
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building mmal-learning Maven Webapp 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ mmal-learning ---
[INFO] Deleting /developer/git-repository/mmall/target
[INFO]
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ mmal-learning ---
[debug] execute contextualize
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 15 resources
[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ mmal-learning ---
[INFO] Compiling 45 source files to /developer/git-repository/mmall/target/classes
[WARNING] /developer/git-repository/mmall/src/main/java/com/mmall/service/Impl/UserServiceImpl.java:[13,28] MD5 is internal proprietary API and may be removed in a future release
[INFO]
[INFO] --- maven-resources-plugin:2.5:testResources (default-testResources) @ mmal-learning ---
[debug] execute contextualize
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /developer/git-repository/mmall/src/test/resources
[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ mmal-learning ---
[INFO] Not compiling test sources
[INFO]
[INFO] --- maven-surefire-plugin:2.10:test (default-test) @ mmal-learning ---
[INFO] Tests are skipped.
[INFO]
[INFO] --- maven-war-plugin:2.1.1:war (default-war) @ mmal-learning ---
[INFO] Packaging webapp
[INFO] Assembling webapp [mmal-learning] in [/developer/git-repository/mmall/target/mmall]
[INFO] Processing war project
[INFO] Copying webapp resources [/developer/git-repository/mmall/src/main/webapp]
[INFO] Webapp assembled in [215 msecs]
[INFO] Building war: /developer/git-repository/mmall/target/mmall.war
[INFO] WEB-INF/web.xml already added, skipping
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6.979s
[INFO] Finished at: Sat Jul 07 18:25:50 CST 2018
[INFO] Final Memory: 16M/40M
[INFO] ------------------------------------------------------------------------
============删除旧的ROOT.war===================
======拷贝编译出来的war包到tomcat下-ROOT.war=======
============删除tomcat下旧的ROOT文件夹=============
====================关闭tomcat=====================
Using CATALINA_BASE:   /home/tomcat/apache-tomcat-default
Using CATALINA_HOME:   /home/tomcat/apache-tomcat-default
Using CATALINA_TMPDIR: /home/tomcat/apache-tomcat-default/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /home/tomcat/apache-tomcat-default/bin/bootstrap.jar:/home/tomcat/apache-tomcat-default/bin/tomcat-juli.jar
================sleep 10s=========================
1s
2s
3s
4s
5s
6s
7s
8s
9s
10s
====================启动tomcat=====================
Using CATALINA_BASE:   /home/tomcat/apache-tomcat-default
Using CATALINA_HOME:   /home/tomcat/apache-tomcat-default
Using CATALINA_TMPDIR: /home/tomcat/apache-tomcat-default/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /home/tomcat/apache-tomcat-default/bin/bootstrap.jar:/home/tomcat/apache-tomcat-default/bin/tomcat-juli.jar
Tomcat started.

这样就算是自动化配置成功,赶紧去试一下吧!!

相关文章

  • java自动化发布线上项目

    自动化发布线上产品!这个很重要!对于我这种闲麻烦的懒人来说真的是必备! 准备工具:git,maven 原理很简单,...

  • maven

    名词解释 自动化构建工具:将原材料(java、js、CSS、html、图片)-》产品(可发布项目)仓库:有本地仓库...

  • 线上数据监控模板

    XXX项目线上数据监控模板 发布版本号: 整体发布计划: 当前发布阶段: 监控日期: 线上联网设备数: 线上设备崩...

  • jenkins发布java网站项目【新更新利用ansible发布

    先看一张java发布流程图 步骤基本分为以下几步: 细分的话,自动化部署项目流程大致为:1.拿到git地址(权限)...

  • shell笔记

    3天 自动化运维 shell语法 项目发布 1、shell

  • fastlane 自动打包到 fir.im 的踩坑之路

    之前一直使用 fir-cli 工具来对项目进行打包,看了《小团队的自动化发布-Fastlane 带来的全自动化发布...

  • 前端自动化-构思

    需求 前端项目自动化,支持编译,打包,上线,测试自动化 技术问题 1 路由配置2 增量发布3 单项目开发4 文件监...

  • 发布jfinal java程序及LINUX部署

    需求:java项目打包后,发布到example.xxx.com网址 一、java maven example项目打...

  • javase项目打包的坑

    最近写了一个java selenium的自动化项目,开发工具当然是大名鼎鼎的idea,打包发布的时候却浪费了一下午...

  • mapper-spring-boot-starter 1.2.0

    今天在线上的项目,还没更新文件的情况重新发布了下测试版,结果出现以下的错误:Cause: java.lang.In...

网友评论

      本文标题:java自动化发布线上项目

      本文链接:https://www.haomeiwen.com/subject/aalguftx.html