linux 发布脚本

博客摘要

在项目实施中当我们要发布一个项目时候一般需要经过如下几步

1 更新svn代码

2 maven打包

3 停止tomcat

4 copy war包到tomcat下

5 启动tomcat

为了简化流程我们可以编写shell脚本一键完成。

本博客将一步一步讲解如何完成这样的脚本。

基本软件:svn maven tomcat jdk

jdk tomcat 安装这里就不介绍了。

第一步安装svn客户端

1下载svn客户端  subversion-deps-1.6.12.tar.bz2   subversion-1.6.12.tar.bz2   点击下载

2解压软件:# tar jxvf subversion-deps-1.6.12.tar.bz2

                     # tar jxvf subversion-1.6.12.tar.bz2

3 准备安装

   创建一个svn的配置目录

   # mkdir /usr/svn-client/subversion

   目录结构如下:


  切换到subversion-1.6.12 # cd subversion-1.6.12

4 安装

   # ./configure --prefix=/opt/svn-client/subversion

   # make && make install

5 测试

 

  看的上面信息说明安装成功

6 更新代码

   下载代码指令:svn checkout path  简写为svn co path

   例如:# svn checkout svn://localhost/pro/project

   第一次更新会提示你输入root 密码 这时可以随便输入一个密码,然后会再次提示你输入用户名然后输入你的svn用户名 然后会提示你输入密码输入你的密码就可以了

更新代码指令:svn update

首先要进入的要更新代码的目录然后执行 svn update或者直接使用指令svn update -r m path

 

7 其他指令可以自己百度去学习这里只用到这两个指令

第二步骤安装maven

1 下载maven 点击下载

2 解压tar zxvf apache-maven-3.0.5-bin.tar.gz解压后:

 

3 配置maven安装目录

  /etc/profile文件后加入下面内容

  export MAVEN_HOME=/opt/maven/apache-maven-3.0.5

  export PATH=${MAVEN_HOME}/bin:${PATH}

4 让配置生效

  #source /etc/profile

5 验证

  # mvn -v

 

6 mvn 打包

 切换到svn下载的项目路径使用命令:mvn install -Dmaven.test.skip=true

 

出现下面信息表示打包成功,例子中打出的是jar  war也是一样的

Ps:在打包过程中你可能会遇到这样的错误

 

原因是缺少maven插件所需要的jar包 解决办法 你可以直接在项目中加入插件的jar包依赖,版本根据你的maven版本做相应修改,报错的地方会提示你。

  1. <dependency>
  2. <groupId>org.apache.maven.plugins </groupId>
  3. <artifactId>maven-surefire-plugin </artifactId>
  4. <version>2.10 </version>
  5. </dependency>
  6. <dependency>
  7. <groupId>org.apache.maven.plugins </groupId>
  8. <artifactId>maven-resources-plugin </artifactId>
  9. <version>2.5 </version>
  10. </dependency>
  11. <dependency>
  12. <groupId>org.apache.maven.plugins </groupId>
  13. <artifactId>maven-jar-plugin </artifactId>
  14. <version>2.3.2 </version>
  15. </dependency>

第三步编写脚本

脚本步骤和我们手工流程是一致的

1 更新svn代码

2 maven打包

3 停止tomcat

4 copy war包到tomcat下

5 启动tomcat

1 新建脚本文件:vi test  文件内容如下:

  1. #!/bin/sh
  2. #项目的svn地址
  3. svn_path= "svn:localhost/project"
  4. #tomcat路径你tomcat的安装路径
  5. tomcat_path= "/opt/tomcat7/"
  6. #本地代码位置代码路径
  7. code_path= "/opt/code/"
  8. #项目名称
  9. projectName= "dms_restaurant"
  10. env= "dev"
  11. #svn账号你的svn账号
  12. svn_user= "xxxxxxxxxxxxx"
  13. #svn密码你的svn密码
  14. svn_pass= "***************"
  15. #如果项目文件夹不存在说明没有下载过改项目代码,需要检出该项目
  16. if [ ! -d ${code_path}${projectName} ];
  17. then
  18. echo ${projectName} "不存在,检出该项目"
  19. cd $code_path
  20. svn checkout $svn_path --username $svn_user --password $svn_pass --no-auth-cache
  21. else
  22. echo ${projectName} "存在,更新代码"
  23. cd ${code_path}${projectName}
  24. svn update --username $svn_user --password $svn_pass --no-auth-cache
  25. fi
  26. #项目依赖的基础项目dms_util jar更新 如果有依赖项目的话
  27. if [ ! -d ${code_path}dms_util ];
  28. then
  29. echo "dms_util不存在,检出该项目"
  30. cd $code_path
  31. svn checkout "https://svn.sinaapp.com/dms2015/1/dms_util" --username $svn_user --password $svn_pass --no-auth-cache
  32. else
  33. echo "dms_util存在,更新代码"
  34. cd ${code_path} "dms_util"
  35. svn update --username $svn_user --password $svn_pass --no-auth-cache
  36. fi
  37. #mav 打包首先打基础jia包 util 如果有依赖项目的话
  38. echo "maven 生成jar 基础依赖包 dms_util.jar"
  39. cd ${code_path} "dms_util"
  40. mvn install -Dmaven.test.skip=true -Denv=$env -U
  41. #如果打包出错直接退出
  42. if [ $? -ne 0 ]; then
  43. exit 1
  44. fi
  45. #mav 再打项目包
  46. echo "maven 生成项目war包${projectName}"
  47. cd ${code_path}${projectName}
  48. mvn install -Dmaven.test.skip=true -Denv=$env -U
  49. #如果打包出错直接退出
  50. if [ $? -ne 0 ]; then
  51. exit 1
  52. fi
  53. #关闭tomcat
  54. cd "${tomcat_path}bin"
  55. ./shutdown.sh
  56. #删除项目
  57. rm -r "${tomcat_path}webapps/${projectName}"
  58. rm "${tomcat_path}webapps/${projectName}.war"
  59. #复制打包好的项目带tomcat下面
  60. cp "${code_path}${projectName}/target/${projectName}.war" "${tomcat_path}webapps/"
  61. #启动tomcat
  62. cd "${tomcat_path}bin"
  63. ./startup.sh

2编译代码 chmod -x test


执行脚本 ./test

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值