1.背景介绍
当我们在本地写好一个项目测试完毕后 我们一般都要把它上传到服务器上去
这里我们需要的操作都有什么呢
最低级的就是从本地打好war包上传服务器
不过在实际上我们都会使用一些版本管理工具像svn
目的是多人合作开发项目
任务三里面我们对此有一个详尽的使用
今天我们就在这里来谈一下如何从svn上自动下载部署到服务器上
2.知识剖析
我们先谈一下整体思路 要在svn上下载相关项目 然后服务器上打包
然后把war包放在容器内 这里我用的resin 最后重启resin
这些操作命令相信各位大佬都很熟悉 今天我们就用一个脚本实现一个命令解决
首先注意一下脚本文件的基础
程序必须以下面的行开始
#!/bin/sh
符号#!用来告诉系统它后面的参数是用来执行该文件的程序。
当编辑好脚本时,如果要执行该脚本,还必须使其可执行。
要使脚本可执行:编译 chmod +x 这样才能用./ 来运行
3.常见问题
3.1.执行权限问题
3.2.echo打印问题
3. 3.打印变量问题
4.解决方案
4.1,使用sh 执行文件
4.2,echo 后面要有空格
4.3.用{}括起来
5.编码实战
直接贴代码把 更多更具体的可以看一下下文的视频
cat deploy.sh
#!/bin/sh
echo 停止resin服务
sh /opt/stop.sh
echo 停止svn服务
cd /
killall svnserve
echo 删除home下deploy
cd /home
rm -rf deploy/*
echo 从svn下载项目
cd deploy
svn co svn://120.92.4.210/student/task/trunk/baixiaoran/deploy
echo 项目打包
cd deploy
mvn install
echo 将war包复制到webapps下
cd target
cp *.war /home/resin-pro-4.0.53/webapps
echo 启动resin
sh /opt/start.sh
6.扩展思考
这样只能从固定的文件夹下自动下载部署 如何自行决定从哪个文件夹下自动部署
设置变量 使用read命令 读取来自键盘输入的变量
ppt https://ptteng.github.io/PPT/PPT-java/java-task2-When you deploy on a Linux server, what scripts do you usually have How do you write those scripts.html#/
我录得小视频链接:https://v.qq.com/x/page/s0545dnfxbz.html 可以看我的实战操作
推荐的免费学习网站:http://www.jnshu.com/login/1/13397829
网友评论