linux下使用shell脚本自动化部署项目

Posted @jason

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下使用shell脚本自动化部署项目相关的知识,希望对你有一定的参考价值。

在Java开发项目时经常要把正在开发的项目发布到测试服务器中去测试,一般的话是要把项目先打成war包,然后把war包发布到服务器中,关闭服务器, 最后重新启动服务器,虽然这过程不是很繁琐,但如果是多个工程都要发布的时候,发布的过程就会比较繁琐,所以福音来了……

通过 编写shell 脚本来完成这些操作,只要执行一个shell脚本,项目就可以自动发布到服务器了,用起来还是比较方便的。

第一步:在linux中安装svn。(这个可以参照另外一篇博客:http://simplelife.blog.51cto.com/9954761/1729931 ),具体到这篇博客,安装svn是为了可是使用svn中的一些命令。

第二步:在linux安装maven。(参照:http://simplelife.blog.51cto.com/9954761/1743977 )

第三步:在linux中的任意一个目录下,最好自己新建一个目录,如ucenter目录

1
2
3
4
5
mkdir /home/softs/ucenter
cd ucenter
svn co   http://svnserver/mypro/trunk   ./    #从指定的svn地址中检出代码到当前目录
  
此时需要输入一些svn的用户名和密码,输入之后确定使用就是了。

技术分享

执行:svn co http://svnserver/mypro/trunk/ ./

技术分享

此时svn中的代码就已经检出到服务器中了……

在当前目录下执行:svn up 

可以更新svn中最新的代码,返回svn的版本

技术分享

进入ssm-parent目录中,执行命令(maven的命令):mvn -U clean install

技术分享

进入simple-ssm中执行相同的操作:

    技术分享

技术分享

技术分享

此时simple-ssm中就多了一个目录:target,这个工程的war包就在其中

    技术分享

此时项目war包已经生成了,接下来就可以将这个war复制到tomcat服务器中,然后重启服务器就可以了。

也就是最前面所说的,上述这些更新代码、打包,移动war包到服务器,重启服务器的操作都可以用一个简单的shell脚本来执行。

++++++++++++++++++++++++++++编写发布要执行的shell脚本++++++++++++++++++++++++++++++++

在ucenter目录中(随便哪个目录,以这个目录为例)

新建ssm-parent.sh文件:

1
2
touch ssm-parent.sh
vim ssm-parent.sh

编写:

技术分享

保存后退出。

给文件赋予权限

1
chmod 755 ssm-parent.sh

执行:

1
./ssm-parent.sh

新建simple-ssm.sh文件:

touch simple-ssm.sh

vim simple-ssm.sh

编写:

技术分享

保存后退出。

给文件赋予权限

1
chmod 755 simple-ssm.sh

执行:

1
./simple-ssm.sh

这样就将simple-ssm工程发布完成了。

以后每次只要将代码写完之后,提交到svn中,在服务器中就可以先后执行这两个shell脚本(当然还可以有别的工程的shell脚本),就可以轻松的发布项目了,是不是很便捷!

执行:

1
2
./ssm-parent.sh
./simple-ssm.sh

到此项目时时发布就可以实现了。

 

以上是关于linux下使用shell脚本自动化部署项目的主要内容,如果未能解决你的问题,请参考以下文章

shell自动部署linux环境下的组件安装配置

dotnet项目执行shell脚本实现简单的自动化部署

shell脚本和自动化部署

centos7下使用gitlab+shell实现CI/CD持续集成持续部署

Linux基础-Shell脚本

Linux自定义shell脚本一键启停微服务jar包