`

由一个shell脚本牵起的工作

阅读更多
昨天老大让我写一个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
分享到:
评论

相关推荐

    250个shell脚本

    Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合。 Shell可以直接使用在win/Unix/Linux上面,并且可以调用大量系统内部的功能来...

    LinuxShell脚本学习基础视频

    资源名称:Linux Shell脚本学习基础视频资源目录:【】11a00d99b60c4e2eba3440b8aa3a6bdd【】linux_shell脚本编程_01认识shell,如何编写shell脚本和执行【】linux_shell脚本编程_02vivim简单的常用操作【】linux_...

    109个shell脚本合集.pdf

    109个shell脚本合集.pdf

    Linux shell 脚本 markdown文本编辑

    有关几个shell脚本的编写,如:编写一个shell脚本程序,它带一个命令行参数,这个参数是一个文件。如果这个文件是一个普通文件,则打印文件所有者的名字和最后的修改日期...加入了自己的注释理解

    shell脚本shell脚本shell脚本

    shell脚本shell脚本shell脚本

    Shell脚本中获取进程ID的方法

    当我在执行shell脚本时,它会启动一个叫子shell的进程。作为主shell的子进程,子shell将shell脚本中的命令作为批处理运行(因此称为“批处理进程”)。 在某些情况下,你也许想要知道运行中的子shell的PID。这个PID...

    shell脚本大全

    shell脚本大全

    shell 脚本shell 脚本shell 脚本

    shell 脚本shell 脚本shell 脚本shell 脚本shell 脚本shell 脚本shell 脚本shell 脚本shell 脚本shell 脚本shell 脚本

    23 个非常实用的 Shell 脚本实例.doc

    接着,使用 SSH 连接到另一台服务器,执行相同的命令,并将结果写入到另一个文件中。最后,使用 AWK 命令将文件名作为遍历对象,逐一比对两台服务器上的文件,并输出文件的差异结果。 二、定时清空文件内容,定时...

    shell脚本写的加密脚本

    学习shell脚本,了解linux知识。

    109个shell脚本合计

    109个有用的shell脚本,帮助学习shell

    shell脚本与Makefile区别.docx

    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脚本python编写shell脚本

    Shell脚本编程100例

    Shell脚本编程100例。 融汇 shell 脚本知识点,集大成之作。 本书实在是学习、进修、面试、居家旅行必备精品!

    Linux_shell脚本全面学习

    Linux_shell脚本全面学习 Linux_shell脚本全面学习

    shell 脚本 实例 shell 脚本 实例

    参考shell脚本实例.rar参考shell脚本实例.ra参考shell脚本实例.rarr

    Shell脚本专家指南

    Shell脚本专家指南》旨在为Linux、Unix以及OSx系统管理员提供短小精悍且功能强大的shell实现解决方案,教会读者如何使用现有调试器调试shell脚本。全书分为3个部分:脚本技术基础、系统交互和高级技术、有用的脚本...

    101个超酷shell脚本

    压缩包 : 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

    5个实用的shell脚本面试题和答案

    1. 写一个shell脚本来得到当前的日期,时间,用户名和当前工作目录。 答案 : 输出用户名,当前日期和时间,以及当前工作目录的命令就是logname,date,who i am和pwd。 现在,创建一个名为userstats.sh文件,将下面...

Global site tag (gtag.js) - Google Analytics