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的用户名和密码,输入之后确定使用就是了。

wKiom1bKxzfzkjwPAAAcUxNv07c652.png

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

wKiom1bKx72jQnPjAAAvfnJA-q0440.png

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

在当前目录下执行:svn up 

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

wKiom1bKyOLx4sgUAAAJaRwXX0M206.png

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

wKioL1bKyZeBDF-yAABoS0Ew_M0662.png

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

    wKiom1bKyZnBXcAaAAApq8dXAmo219.png

wKioL1bKyijC34t7AABbNe9te9o456.png

wKiom1bKye_gY72WAAApz5gd29c309.png

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

    wKioL1bKywyB_boAAABhm20_rEQ363.png

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

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

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

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

新建ssm-parent.sh文件:

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

编写:

wKioL1bLwX7Rs93lAAAQ2gcYceM349.png

保存后退出。

给文件赋予权限

1
chmod  755  ssm-parent.sh

执行:

1
./ssm-parent.sh

新建simple-ssm.sh文件:

touch simple-ssm.sh

vim simple-ssm.sh

编写:

wKiom1bLwc7CwQ_nAAA236o9ZPc140.png

保存后退出。

给文件赋予权限

1
chmod  755  simple-ssm.sh

执行:

1
./simple-ssm.sh

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

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

执行:

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

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



本文转自 兴趣e族 51CTO博客,原文链接:http://blog.51cto.com/simplelife/1744069
相关文章
|
2天前
|
JavaScript 前端开发 Shell
Shell 脚本编程保姆级教程(上)
Shell 脚本编程保姆级教程(上)
|
2天前
|
网络协议 Shell Linux
Shell脚本配置Centos静态ip地址
这是一个用于在CentOS上设置静态IP的Shell脚本摘要: - 脚本交互式获取用户输入的IP地址、子网掩码、网关和DNS。 - 使用`sed`命令动态更新`/etc/sysconfig/network-scripts/ifcfg-ENS33`配置文件。 - 修改`BOOTPROTO`为`static`,并设置IP、NETMASK、GATEWAY和DNS1字段。 - 用`systemctl restart network`重启网络服务。 - 提示用户新配置的静态IP信息。
|
3天前
|
数据采集 存储 监控
python 10个自动化脚本
【7月更文挑战第10天】
14 3
|
2天前
|
机器学习/深度学习 数据采集 人工智能
探索自动化测试的边界:从脚本到智能
在软件开发领域,自动化测试已成为确保产品质量和提升开发效率的关键因素。随着人工智能和机器学习技术的飞速发展,传统的自动化测试方法正面临重大的变革。本文将从多个角度分析自动化测试的现状与未来趋势,探讨如何通过集成先进的技术手段优化测试流程,并预测自动化测试领域的发展方向。
8 1
|
6天前
|
数据采集 数据处理 数据安全/隐私保护
Python的自动化脚本可以完成哪些任务?
【7月更文挑战第7天】Python的自动化脚本可以完成哪些任务?
13 3
|
8天前
|
Shell Linux
Linux Shell 脚本入门教程:开启你的自动化之旅
Shell是一种计算机程序,它充当了用户与操作系统之间的接口。在Linux系统中,Shell允许用户通过命令行界面(CLI)来控制计算机。Shell脚本则是一种使用Shell语言编写的脚本,它可以自动执行一系列的命令,帮助用户实现任务自动化,提高工作效率。
|
1天前
|
Shell
Shell 脚本编程保姆级教程(下)
Shell 脚本编程保姆级教程(下)
|
2天前
|
Java Shell Linux
【Linux】手把手教你做一个简易shell(命令行解释器)
【Linux】手把手教你做一个简易shell(命令行解释器)
7 0
|
8天前
|
机器学习/深度学习 运维 物联网
自动化运维的进阶之路:从脚本到智能化
在数字化转型的浪潮中,自动化运维不再是可选项,而是企业持续竞争力的核心要素。本文旨在探讨自动化运维的演变轨迹,分析从基础脚本编写到复杂系统整合、再到智能化运维平台的跃迁过程中的关键技术和实践挑战,并提供面向未来的策略建议。
|
8天前
|
大数据 Linux 程序员
软件开发常见流程之服务器+Linux部署项目,会用服务器+Linux部署项目资料
软件开发常见流程之服务器+Linux部署项目,会用服务器+Linux部署项目资料