使用shell 一次执行,将项目中的war包的配置全部修改

  1. #!/bin/bash
  2. #-----------------------------------------------
  3. # FileName: deployWAR.sh
  4. # Reversion: 1.5
  5. # Date: //
  6. # Author: zhengwenqiang
  7. # Email: zhengwenqiang@bonc.com.cn
  8. # Description: change the properties of the essential configuration file, it means that before you startup tomcat to run those three apps etc cas,portal,security
  9. # it's vital to run this script which bring the proccess running normally.
  10. # Notes: If you are going execute this script on linux, you should run the command "sed -i 's/\r//g' getwar.sh"
  11. # to delete invalid character which cause character error.
  12. # Changes: solve the error caused by default-schema configuration.
  13. # Copyright: (c) zhengwenqiang
  14. # License: GPL
  15. #-----------------------------------------------
  16.  
  17. #cd `)`
  18.  
  19. # configure Cas
  20. conf='conf.properties'
  21.  
  22. ] ; then
  23. conf=$
  24. fi
  25.  
  26. if [ -f $conf ] ; then
  27. #cat -A conf.properties | grep -E -v '^\^?M' | sed 's/\^M\$$//g'>conf.sh
  28. #cat conf.properties | grep -E -v '^\^?M' | tr -d '\r' | tee conf.sh
  29. [ -f conf.sh ] && rm -f conf.sh
  30. cat $conf | grep -E -v '^\^?M' | tr -d '\r'>conf.sh
  31. chmod u+x,u+w conf.sh
  32. sed -i '1i \#\!\/bin\/bash' conf.sh && chmod u-w conf.sh
  33. source conf.sh
  34. else
  35. echo "conf.properties not found">install.log
  36. exit ;
  37. fi
  38.  
  39. if [ -z $cas_ip ] ; then
  40. # cas_ip=`ip addr | tr -d 'inet '`
  41. cas_ip=`ip addr show | | sed 's/[^0-9\.]//g'`
  42. fi
  43.  
  44. if [ -z $security_ip ] ; then
  45. security_ip=$cas_ip
  46. fi
  47.  
  48. if [ -z $portal_ip ] ; then
  49. portal_ip=$security_ip
  50. fi
  51.  
  52. cd webapps
  53.  
  54. if [ $casEnable == "true" ] ; then
  55.  
  56. [ -d cas ] && rm -rf cas
  57. cas_war=``
  58. if [ -f ${cas_war} ] ; then
  59.  
  60. mkdir cas && unzip ${cas_war} -d cas
  61.  
  62. cas_pros='cas/WEB-INF/cas.properties'
  63.  
  64. sed -i "s/CAS_IP:CAS_PORT/${cas_ip}:${cas_port}/g" ${cas_pros}
  65. sed -i "s/PORTAL_IP:PORTAL_PORT/${portal_ip}:${portal_port}/g" ${cas_pros}
  66. sed -i "s/SE_IP:SE_PORT/${security_ip}:${security_port}/g" ${cas_pros} cas/WEB-INF/classes/bonc-security-base.properties
  67. sed -r "s/DB_IP:DB_PORT([/:])DB_NAME/${db_ip}:${db_port}\1${db_name}/g" -i ${cas_pros}
  68. case $db_type in
  69. "mysql")
  70. sed -r '/MySQLDialect\r?$/s/^#//g' -i ${cas_pros}
  71. sed -r '/com.bonc.jdbc.MysqlDriver$/,+3s/^#//g' -i ${cas_pros}
  72. sed -r '/com.mysql.jdbc.Driver$/,+3s/^#//g' -i ${cas_pros}
  73. ;;
  74. "oracle")
  75. sed -r '/Oracle10gDialect\r?$/s/^#//g' -i ${cas_pros}
  76. sed -r '/com.bonc.jdbc.OracleDriver$/,+4s/^#//g' -i ${cas_pros}
  77. sed -r '/oracle.jdbc.driver.OracleDriver$/,+4s/^#//g' -i ${cas_pros}
  78. ;;
  79. *)
  80. ;;
  81. esac
  82. sed -i "s/DB_USERNAME/${db_username}/g" ${cas_pros}
  83. sed -i "s/DB_PASSWD/${db_passwd}/g" ${cas_pros}
  84.  
  85. unset ${cas_pros}
  86. fi
  87.  
  88. [ ${cas_war} != "cas.war" ] && mv ${cas_war} cas.war
  89. fi
  90.  
  91. if [ $portalEnable == "true" ] ; then
  92.  
  93. # Configure Portal
  94. [ -d portal ] && rm -rf portal
  95. portal_war=``
  96. if [ -f ${portal_war} ] ; then
  97.  
  98. mkdir portal && unzip ${portal_war} -d portal
  99.  
  100. for portal in 'portal/WEB-INF/web.xml' 'portal/WEB-INF/classes/bonc-security-base.properties' 'portal/WEB-INF/classes/cfg.db.deploy.properties'
  101. do
  102. sed -i "s/CAS_IP:CAS_PORT/${cas_ip}:${cas_port}/g" $portal
  103. sed -i "s/PORTAL_IP:PORTAL_PORT/${portal_ip}:${portal_port}/g" $portal
  104. sed -i "s/SE_IP:SE_PORT/${security_ip}:${security_port}/g" $portal
  105. sed -r "s/DB_IP:DB_PORT([/:])DB_NAME/${db_ip}:${db_port}\1${db_name}/g" -i $portal
  106. sed -i "s/DB_USERNAME/${db_username}/g" $portal
  107. sed -i "s/DB_PASSWD/${db_passwd}/g" $portal
  108. done
  109.  
  110. case $db_type in
  111. "mysql")
  112. sed -r '/^#?database.type=mysql$/,+4s/^#//g' -i 'portal/WEB-INF/classes/cfg.db.deploy.properties'
  113. sed -r '/MySQL5Dialect$/s/^#//g' -i 'portal/WEB-INF/classes/cfg.db.deploy.properties'
  114. sed -i "s/DB_SCHEMA/${db_name}/g" 'portal/WEB-INF/classes/cfg.db.deploy.properties'
  115. ;;
  116. "oracle")
  117. sed -r '/^#?database.type=oracle$/,+5s/^#//g' -i 'portal/WEB-INF/classes/cfg.db.deploy.properties'
  118. sed -r '/Oracle10gDialect$/s/^#//g' -i 'portal/WEB-INF/classes/cfg.db.deploy.properties'
  119. sed -i "s/DB_SCHEMA/${db_username}/g" 'portal/WEB-INF/classes/cfg.db.deploy.properties'
  120. ;;
  121. *)
  122. ;;
  123. esac
  124.  
  125. fi
  126. fi
  127.  
  128. # Configure Security
  129. if [ $securityEnable == "true" ] ; then
  130.  
  131. [ -d security ] && rm -rf security
  132. security_war=``
  133. if [ -f ${security_war} ] ; then
  134.  
  135. mkdir security && unzip ${security_war} -d security
  136.  
  137. for security in 'security/WEB-INF/web.xml' 'security/WEB-INF/classes/bonc-security-base.properties' 'security/WEB-INF/classes/cfg.db.deploy.properties' 'security/WEB-INF/classes/bonc-security.properties'
  138. do
  139. sed -i "s/CAS_IP:CAS_PORT/${cas_ip}:${cas_port}/g" $security
  140. sed -i "s/SE_IP:SE_PORT/${security_ip}:${security_port}/g" $security
  141. sed -r "s/DB_IP:DB_PORT([/:])DB_NAME/${db_ip}:${db_port}\1${db_name}/g" -i $security
  142. sed -i "s/DB_USERNAME/${db_username}/g" $security
  143. sed -i "s/DB_PASSWD/${db_passwd}/g" $security
  144. done
  145.  
  146. case $db_type in
  147. "mysql")
  148. sed -r '/^#?database.type=mysql$/,+4s/^#//g' -i 'security/WEB-INF/classes/cfg.db.deploy.properties'
  149. sed -r '/MySQL5Dialect$/s/^#//g' -i 'security/WEB-INF/classes/cfg.db.deploy.properties'
  150. sed -r '/^#?database.type=mysql$/,+4s/^#//g' -i 'security/WEB-INF/classes/bonc-security.properties'
  151. sed -i "s/DB_SCHEMA/${db_name}/g" 'security/WEB-INF/classes/cfg.db.deploy.properties'
  152. ;;
  153. "oracle")
  154. sed -r '/^#?database.type=oracle$/,+5s/^#//g' -i 'security/WEB-INF/classes/cfg.db.deploy.properties'
  155. sed -r '/Oracle10gDialect$/s/^#//g' -i 'security/WEB-INF/classes/cfg.db.deploy.properties'
  156. sed -r '/^#?database.type=oracle$/,+4s/^#//g' -i 'security/WEB-INF/classes/bonc-security.properties'
  157. sed -i "s/DB_SCHEMA/${db_username}/g" 'security/WEB-INF/classes/cfg.db.deploy.properties'
  158. ;;
  159. *)
  160. ;;
  161. esac
  162.  
  163. fi
  164.  
  165. fi

【Tomcat】shell 部署配置 war包的更多相关文章

  1. Docker实现运行tomcat并部署项目war包,并实现挂载目录

    之前写的有点乱,现在再来整理一下docker的简单部署运行 借鉴博客:https://blog.csdn.net/qq_32351227/article/details/78673591 一.dock ...

  2. Spring Boot取消默认tomcat启动,打成war包发布到服务器运行

    一.设置打包方式 在pom.xml中设置打包格式 <packaging>war</packaging> 二.取消Spring Boot的tomcat <!--部署成war ...

  3. intellij idea tomcat 启动不生成war包

    intellij idea tomcat 启动不生成war包 想把项目打包成war包做测试,但是按照之前的方法居然没有成功导出war包,犯了很低级的错误,特此记录. (1)首先在Project Str ...

  4. Tomcat上进行项目部署与WAR包含义

    一.WAR包 1.与JAR包类似,是将java类(编译好的.class)和Web资源,压缩后生成压缩包. 2. 与JAR相比,多了WEB-INF文件夹,其它多出来的内容基本都是Web资源 WEB-IN ...

  5. Tomcat访问控制及站点部署(以WAR包形式上传)!(重点)

    访问控制 首先安装好jdk以及apache-tomcat并能访问tomcat网页 点击server status了解服务状态会报403的错误 第一步:修改user.xml配置文件 [root@loca ...

  6. tomcat运行springboot项目war包

    以最简单的spring boot demo项目来演示如何发布项目war包到tomcat,并成功运行(有很多小伙伴会出现404错误) 一.准备一个最简单的demo项目 在IDEA中新建一个项目,一直ne ...

  7. springboot项目部署(war包)

    将springboot项目打包成war,并且部署到tomcat.比较麻烦,自己踩的坑也比较多.算了一下,找bug的时间,有两天熬到凌晨2点. 修改pom.xml使得打包成war <groupId ...

  8. Spring Boot 2 构建可部署的war包

    默认情况下Spring Boot使用了内嵌的Tomcat服务器,项目最终被打成jar包运行,每个jar包可以被看作一个独立的Web服务器.传统的Web开发,一般会将Web应用打成一个war包,然后将其 ...

  9. linux中部署jenkins(war包)及jenkins忘记登录账号密码

    未登录状态 登录状态 一:部署jenkins(war包) 1.直接下载war包jenkins.war,下载地址https://jenkins.io/download 2.将下载的war包放到服务器上t ...

随机推荐

  1. php使用flock阻塞写入文件和非阻塞写入文件的实例讲解

    php使用flock阻塞写入文件和非阻塞写入文件的实例讲解: 阻塞写入代码:(所有程序会等待上次程序执行结束才会执行,30秒会超时) <?php $file = fopen("test ...

  2. 或许你不知道的10条SQL技巧(转自58沈剑原创)

    这几天在写索引,想到一些有意思的TIPS,希望大家有收获. 一.一些常见的SQL实践 (1)负向条件查询不能使用索引 select * from order where status!=0 and s ...

  3. EasyUI combobox 中文无法检索最终解决方案!

    写在前面: 因为之前一直用EasyUI的combobox控件,但是苦于在火狐浏览器下输入中文无法直接检索必须在输入完成后再敲击一下键盘才可以(按一下shift或空格),原因是中文输入法屏蔽了EasyU ...

  4. Hibernate 实体关联关系映射----总结

    在我看来,Hibernate提供这些映射关系,常用就是一对一和多对一,并且在能不用连接表的时候尽量不要用连接表.多对多会用到,如果用到了,应该首先考虑底层数据库设计是否合理.   在实际开发中,在Hi ...

  5. (转)上传jar包到nexus私服

    场景:在使用私服Nexus时候经常需要上传jar包,但是对上传jar包的方式不是很熟悉,所以很有必要学习下. 1 通过网页上传 GAV Definition:选择GAV Parameters 输入JA ...

  6. Maven “Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:2.4:create...”问题总结

    今天学习Maven的过程中,一直遇到一个问题:用maven指令构建新项目时,一直报错,用的 Maven 3.2 , JDK 6. 构建的命令: 错误信息: 解决方案: 在StackOverFlow上找 ...

  7. HDU1035 Robot Motion

    Problem Description A robot has been programmed to follow the instructions in its path. Instructions ...

  8. 初学 Python(十一)——切片

    初学 Python(十一)--切片 初学 Python,主要整理一些学习到的知识点,这次是切片. #-*- coding:utf-8 -*- ''''' 切片 ''' L = ['name','age ...

  9. iOS与web交互的那些事

    一转眼又是大半年过去了,除了上架了一款新应用外,也没什么进步.所以最近琢磨着搞点事情,不然我那本Java教程都快看完了. 做为一名iOS高(la)阶(ji)法师,几乎所有的任务里,都会出现web这个从 ...

  10. Effective Java通俗理解(持续更新)

    这篇博客是Java经典书籍<Effective Java(第二版)>的读书笔记,此书共有78条关于编写高质量Java代码的建议,我会试着逐一对其进行更为通俗易懂地讲解,故此篇博客的更新大约 ...