昨天老大让我写一个shell脚本,实现以下功能:
1. 自动checkout svn服务器上的project
2. 自动build/package maven project_name.war 包
3. 自动拷贝project_name.war 包到$TOMCAT_HOME/webapps/目录
4. 自动启动$TOMCAT_HOME/bin/catalina.sh run
宗旨:一切实现自动化,就是这么简单。
技术的力量是无穷的。这句话放在这里那简直就是相当的恰当,不过细想一下,有那么简单吗?
NO,并非那么简单,看了我做的时期,你就知道为啥一个小小的shell脚本会让给你2个工作日。
首先,你得要访问Liunx服务器的客户端软件(如我最喜欢用的XShell)
----后续
shell代码
#!/bin/sh
#auto checkout svn, auto build maven, auto cp project, auto start tomcat
COMMON_DIR=/var/www/demo/installed
JAVA_HOME=$COMMON_DIR/jdk1.6.0_20/
export JAVA_HOME
TOMCAT_HOME=$COMMON_DIR/apache-tomcat-6.0.26
M2_HOME=$COMMON_DIR/apache-maven-2.2.1/
SVN_HOME=/usr/local/svn/
SVN_SERVER=http://prosvn.shrd.demo.cn/svn/demo/trunk/
CHECKOUT_FOLDER="demo"`date +%Y%m%d%H%m`
CURRENT_DIR=/var/www/demo/autobuild
cd $CURRENT_DIR/checkout/
mkdir $CHECKOUT_FOLDER
cd $CHECKOUT_FOLDER/
svn checkout $SVN_SERVER --username xiaolinjava --password xiaolinjava
cd trunk/
mvn clean package -DJAVA_HOME=$JAVA_HOME -Denv.type=dev -Dmaven.test.skip=true
rm -rf $TOMCAT_HOME/webapps/demo
cp -R target/demo-1.0-SNAPSHOT $TOMCAT_HOME/webapps/demo/
$TOMCAT_HOME/bin/catalina.sh stop
$TOMCAT_HOME/bin/catalina.sh start
echo "start tomcat success!!!" > cd ../../log/log.log
分享到:
相关推荐
Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合。 Shell可以直接使用在win/Unix/Linux上面,并且可以调用大量系统内部的功能来...
资源名称:Linux Shell脚本学习基础视频资源目录:【】11a00d99b60c4e2eba3440b8aa3a6bdd【】linux_shell脚本编程_01认识shell,如何编写shell脚本和执行【】linux_shell脚本编程_02vivim简单的常用操作【】linux_...
109个shell脚本合集.pdf
有关几个shell脚本的编写,如:编写一个shell脚本程序,它带一个命令行参数,这个参数是一个文件。如果这个文件是一个普通文件,则打印文件所有者的名字和最后的修改日期...加入了自己的注释理解
shell脚本shell脚本shell脚本
当我在执行shell脚本时,它会启动一个叫子shell的进程。作为主shell的子进程,子shell将shell脚本中的命令作为批处理运行(因此称为“批处理进程”)。 在某些情况下,你也许想要知道运行中的子shell的PID。这个PID...
shell脚本大全
shell 脚本shell 脚本shell 脚本shell 脚本shell 脚本shell 脚本shell 脚本shell 脚本shell 脚本shell 脚本shell 脚本
接着,使用 SSH 连接到另一台服务器,执行相同的命令,并将结果写入到另一个文件中。最后,使用 AWK 命令将文件名作为遍历对象,逐一比对两台服务器上的文件,并输出文件的差异结果。 二、定时清空文件内容,定时...
学习shell脚本,了解linux知识。
109个有用的shell脚本,帮助学习shell
Makefile 中的 shell 每一行是一个进程,不同行之间变量值不能传递,所以,Makefile 中的 shell 不管多长都要写在一行。Makefile 中变量以 $ 开头,为了避免和 shell 变量冲突,Makefile 中 shell 变量以 $$ 开头。 ...
python编写shell脚本python编写shell脚本python编写shell脚本python编写shell脚本python编写shell脚本python编写shell脚本python编写shell脚本python编写shell脚本python编写shell脚本python编写shell脚本
Shell脚本编程100例。 融汇 shell 脚本知识点,集大成之作。 本书实在是学习、进修、面试、居家旅行必备精品!
Linux_shell脚本全面学习 Linux_shell脚本全面学习
参考shell脚本实例.rar参考shell脚本实例.ra参考shell脚本实例.rarr
Shell脚本专家指南》旨在为Linux、Unix以及OSx系统管理员提供短小精悍且功能强大的shell实现解决方案,教会读者如何使用现有调试器调试shell脚本。全书分为3个部分:脚本技术基础、系统交互和高级技术、有用的脚本...
压缩包 : 101个超酷shell脚本.rar 列表 101个超酷shell脚本 101个超酷shell脚本\Wicked.cool.shell.scripts-101.scripts.for.Linux.Mac.OS.X.and.Unix.Systems.2004.chm 101个超酷shell脚本\说明.txt
1. 写一个shell脚本来得到当前的日期,时间,用户名和当前工作目录。 答案 : 输出用户名,当前日期和时间,以及当前工作目录的命令就是logname,date,who i am和pwd。 现在,创建一个名为userstats.sh文件,将下面...