非常简单的部署脚本(JavaWeb项目)和部署项目教程
这个部署方式,前提需要通过WinSCP工具将本地Maven项目打成zip包放到Linux对应的用户目录下,然后执行脚本便可以完成一键部署。
大家看到下面的脚本,可以发现一个显著的特点,部署脚本内容基本都是Linux命令拼接而来的。
所以这里还得强调一下,如果想把shell学好,Linux是基础。
这就好比Java,如果你想更深层次理解MyBatis或者Spring源码,对于Java基本工要求还是非常严格的,只有当Java基础扎实,所谓的框架对于你来说,其实也没什么。
deploy.sh
#!/bin/bash demo_dir=/home/test/tomcat8/webapps web_dir=/home/test/tomcat8 cd $demo_dir rm -rf test-web.war rm -rf test-web echo "成功删除webapps下的项目,为下一次部署做准备" cd .. ./bin/shutdown.sh echo "关闭tomcat8服务器" cd /home/test/ if [ -f test-web*.zip ];then unzip test-web*.zip echo "成功解压" fi cd /home/test/test-web mvn clean package echo "打包" cp -r /home/test/test-web/target/lms.war /home/test/tomcat8/webapps/ cp -r /home/test/test-web/target/lms /home/test/tomcat8/webapps/ echo "成功复制到$demo_dir 目录下" cd $web_dir ./bin/startup.sh && tail -f logs/catalina.out
这里的话,分享的脚本是经过实际测试认证的,目前只经过ubuntu16.04验证。
不过这里有比较多的缺点和不足,就是不够自动化,而且一旦执行失败,不仔细检查的话,会很难发现。
这里的分享,只供初学者或者实际开发人员觉得通过常规的maven部署难受的话,可以借鉴这个,以减少部署时间成本。
常规部署可以参考如下内容:
1.zip包方式
unzip test-web.zip #解压zip包 cd test #进入该目录 mvn clean package #打包命令 cd target #进入target目录 打包命令成功生成的war文件会在这个目录下 cp test-web.war /home/test/tomcat8/webapps #将war文件复制到这个目录下
最后重启服务器,即可完成部署
2.使用git版本控制开发
git clone url #克隆远程仓库 cd test-web #进入远程仓库 mvn clean package #到有pom.xml的文件夹执行该命令 cd target #找到war包 cp test-web.war /home/test/tomcat8/webapps #将war文件复制到这个目录下
最后重启服务器,即可完成部署
这是我之前常用的两种方式,当然,现在都流行一个叫持续集成或自动化部署的,我这个也比较古板了,还需要手动执行。
现在有一种工具比较火,叫Jekins,它是一种持续集成+自动化部署的软件。
安装教程,可以参考我的博文:Ubuntu16.04环境安装jenkins
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Docker实战(八)之Web服务与应用
1.Apache 官方提供了名为httpd的Apache镜像,可以作为基础web服务镜像 Dockerfile(安装apache2) FROM httpd:2.4 COPY ./public-html /usr/local/apache2/htdocs/ 2.Nginx Nginx是一款功能强大的开源反向代理服务器,支持HTTP、HTTP、SMTP、POP3、IMAP等协议。它也可以作为负载均衡器、HTTP缓存或者Web服务器。Nginx一开始就专注于高并发和高性能的应用场景。它使用类BSD开源协议,支持Linux、BSD、Mac、Solaris、AIX等类Unix系统,同时也有windows移植版。 (1)使用官方镜像 docker run -d -p 80:80 --name webserver nginx 3.Tomcat Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和Java Servlet Page(JSP)的支持。同时,它提供了作为Web服务器的一些特...
- 下一篇
19. 删除链表的倒数第N个节点
题目 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗? 分析 链表的题目基本上都是优先考虑双指针。一个指针先走N步,然后两个指针同步移动到链表末尾,移除前一个指针所指着的节点即可。但是越简单的题目越要考虑边界条件,不要掉坑里面,具体看代码吧,争取一次Bugfree. Code /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ class Solution { public ListNode removeNthFromEnd(ListNode head, int n) { ListNode right = head; ListN...
相关文章
文章评论
共有0条评论来说两句吧...