用tarball实现liferay自动安装部署7-根据dnsdomainname判断节点环境

简介:

当tarball执行时候,它是如何判断这个节点所处的环境是qa,还是production 抑或是dev呢?显然,如果让管理员一个一个分配的话,那么将非常容易错,所幸的是,所有的不同环境的机器都分配在不同的network segment中,所以我们可以让脚本获得dnsdomainname的信息,然后进行加工来轻松获取环境信息:

 

 
 
  1. touch /tmp/dnsdomainname.txt 
  2.  
  3. dnsdomainname > /tmp/dnsdomainname.txt 
  4.  
  5. #get the dnsdomainname 
  6.  
  7. DNSDOMAINNAME=`cat /tmp/dnsdomainname.txt` 
  8.  
  9. echo "DNSDOMAINNAME is :  $DNSDOMAINNAME" 
  10.  
  11. rm -r /tmp/dnsdomainname.txt 
  12.  
  13.   
  14.  
  15. #make decision of the environment based on the dnsdomainname 
  16.  
  17.   
  18.  
  19. DEV_KEYWORD="dev" 
  20.  
  21. QA_KEYWORD="qa" 
  22.  
  23. PROD_KEYWORD="prod" 
  24.  
  25.   
  26.  
  27. declare -i IS_DEV_ENV 
  28.  
  29. declare -i IS_QA_ENV 
  30.  
  31. declare -i IS_PROD_ENV 
  32.  
  33.   
  34.  
  35. IS_DEV_ENV=`echo $DNSDOMAINNAME | grep $DEV_KEYWORD | wc -l` 
  36.  
  37. IS_QA_ENV=`echo $DNSDOMAINNAME | grep $QA_KEYWORD | wc -l` 
  38.  
  39. IS_PROD_ENV=`echo $DNSDOMAINNAME | grep $PROD_KEYWORD | wc -l` 
  40.  
  41.   
  42.  
  43. # Download from Storage 
  44.  
  45.   
  46.  
  47. if [ "$IS_DEV_ENV" -gt "$ZERO" ]; 
  48.  
  49.         then 
  50.  
  51.                 ENVIRONMENT_TYPE=dev 
  52.  
  53.                 LIFERAY_TOMCAT_BUNDLE_DOWNLOAD_ADDR="http://10.242.8.206:4227/storage/paas/installer/liferay/community-edition-liferay-portal-tomcat-6.1.0.zip" 
  54.  
  55.                 echo "the environment of this machine is dev " 
  56.  
  57.   
  58.  
  59.   
  60.  
  61. elif [ "$IS_QA_ENV" -gt "$ZERO" ]; 
  62.  
  63.         then 
  64.  
  65.                  ENVIRONMENT_TYPE=qa 
  66.  
  67.                  LIFERAY_TOMCAT_BUNDLE_DOWNLOAD_ADDR="http://10.242.8.206:4227/storage/paas/installer/liferay/community-edition-liferay-portal-tomcat-6.1.0.zip" 
  68.  
  69.                  echo "the environment of this machine is qa" 
  70.  
  71.   
  72.  
  73.   
  74.  
  75. elif [ "$IS_PROD_ENV" -gt "$ZERO" ]; 
  76.  
  77.         then 
  78.  
  79.                  ENVIRONMENT_TYPE=prod 
  80.  
  81.                  LIFERAY_TOMCAT_BUNDLE_DOWNLOAD_ADDR=http://ndc-staas-app1.prod.gecwalmart.com:4227/storage/paas/installer/liferay/community-edition-liferay-portal-tomcat-6.1.0.zip 
  82.  
  83.                  echo "the environment of this machine is prod" 
  84.  
  85.   
  86.  
  87.   
  88.  
  89. else 
  90.  
  91.     #the default one ,the environment is dev 
  92.  
  93.                  ENVIRONMENT_TYPE=dev 
  94.  
  95.         LIFERAY_TOMCAT_BUNDLE_DOWNLOAD_ADDR="http://10.242.8.206:4227/storage/paas/installer/liferay/community-edition-liferay-portal-tomcat-6.1.0.zip" 
  96.  
  97.         echo "the environment of this machine is dev" 
  98.  
  99.   
  100.  
  101.   
  102.  
  103. fi 
  104.  
  105.   
  106.  
  107. echo "The liferay tomcat bundle zip file is accessable from  $LIFERAY_TOMCAT_BUNDLE_DOWNLOAD_ADDR" 
  108.  
  109.   

 

从这里可以看出,(01-11行)我的思路是首先把dnsdomainname的输出读到一个临时文件中,并用cat读取这个文件,然后删除临时文件:

 

然后对于读取的内容,因为我们已经有了一些约定,所以可以很轻松的识别出这个机器所处的环境,(15-39行)方法是看这个dnsdomainname中是否有"qa","prod","dev"的字眼出现。

 

最终当识别出环境之后,我们就可以吧环境保存到变量中,并且被configure.sh中所使用了。当然了,这个环境的不同还会影响到tomcat zip bundle下载地址的不同。

 





本文转自 charles_wang888 51CTO博客,原文链接:http://blog.51cto.com/supercharles888/979805,如需转载请自行联系原作者

目录
相关文章
|
小程序 JavaScript 前端开发
微信小程序-更加简洁的{{ ... }}语法
微信小程序可有意思了
848 0
|
JSON JavaScript 数据格式
文本-----wangEditor的使用,设置和获取内容,展示HTML无样式怎么办????console同步展示怎样写,Vue的配置在Vue3配置文件中的配置,是editor中的v-model绑定的值
文本-----wangEditor的使用,设置和获取内容,展示HTML无样式怎么办????console同步展示怎样写,Vue的配置在Vue3配置文件中的配置,是editor中的v-model绑定的值
|
10月前
|
域名解析 弹性计算 网络安全
CEN+私网NAT实现跨地域访问云服务需求-CEN企业版
本文介绍了如何通过企业版云企业网和私网NAT配置,实现ECS内网跨地域访问OSS资源的方法。该方法避免了跨地域配置云服务网段时可能出现的管控异常问题,适用于其他云服务如MQ等。
|
域名解析 网络协议 网络安全
当您的域名解析的邮件服务器无法发送邮件时,可以检查以下几个方面
当您的域名解析的邮件服务器无法发送邮件时,可以检查以下几个方面
743 1
|
缓存 监控 负载均衡
Gateway
【7月更文挑战第3天】
271 12
|
算法 Java 测试技术
提高代码质量的7个实用技巧
在Java开发中,编写高质量的代码是非常重要的。良好的代码质量不仅可以提高程序的可维护性和可读性,还能减少潜在的bug和错误。本文将介绍七个实用技巧,帮助Java开发人员提高代码质量。
727 0
|
数据安全/隐私保护
阿里云商标注册流程
很多用户有注册商标的需求,又不知道怎么注册商标。特别是他们想在阿里云注册商标,其实注册商标很简单。商标类型,又分为:文字商标,图形商标,文字图形组合商标。无论你在阿里云是要买域名,买服务器,还是干嘛,首先你都需要注册阿里云账号的。
|
消息中间件 存储 缓存
RocketMQ 生产者那些事
这篇文章,我们从源码的角度探寻 RocketMQ Producer 的实现机制。
RocketMQ 生产者那些事
|
数据采集 监控
|
JSON 自然语言处理 网络协议
gRPC 接口调试利器,让你成为高效开发者
目前市面上能够兼容 gRPC 接口的接口调试与管理工具十分有限,而 gRPC 现已广泛应用于微服务架构中,并且可以预见的是,它会变得越来越流行。
gRPC 接口调试利器,让你成为高效开发者