Ansible Tower 一键安装Weblogic以及应用域脚本
主install-weblogic.yml文件内容如下
#民生保险Linux一件安装(JDK、Weblogic、应用域) For Ansible Tower
#liujia1@vastdata.com.cn 15801491470
#1.系统语言必须为英文(只要你df -h看到的是Size Used Avail Use就OK了),不是的话需要修改/etc/sysconfig/i18中的内容为LANG="en_US.UTF-8",然后重启
#2.系统必须配置好可以使用的yum地址
#3.创建的中间件用户必须提前建立好并对要安装目录有读写权限
#4./home必须有至少300Mb空间、/tmp必须有至少1Mb空间、中间件目录至少有10G空间
#5.主机hosts文件必须配置正确(如:10.0.22.250 test250)
#6.ansible中的变量可以不做修改,但是如要修改必须按照下面规定修改
#datadir: /data (正确的如:/data123、/weblogic、/app 不正确的如:/data/、/data/weblogic、data)
#datadir2: data (此变量必须是上边你填写的变量去掉“/”,填写其它任何都不可以)
#domain: domian888 (要创建的domain名,一般为domain+主机地址,如:domain191,不可出现特殊字符)
#domainapp: appserver (要创建的wenblogic应用名,不可出现特殊字符)
#domainpass: "aabbAABB!!" (要创建的中间件weblogic的管理密码,密码长度必须大于8位,切必须包含大小写和特殊字符,但是由于咱们是交互安装,一旦出现一些其它特殊字符会导致安装失败(如:~#$%^&*?|/\),但是"!"字符可以使用
#port: 7001 (weblogic管理端口,可使用1024-65535之间任意未被占用的端口均可,默认7001)
#portapp: 7003 (weblogic应用端口,可使用1024-65535之间任意未被占用的端口均可,默认7003)
#user: weblogic (系统安装中间件用户,如:liser、xcx、userapp,这个系统用户必须安装前自行建立)
---
- hosts: all
#datadir: /data
#datadir2: data
#user: weblogic
#domain: domain888
#domainpass: aabbAABB!!
#port: 7001
#domainapp: appserver
#portapp: 7003
tasks:
- name: 安装libselinux-python软件包
shell: yum install -y libselinux-python
- name: 拷贝jdk安装包到目标主机
copy: src=jdk-6u45-linux-x64.bin dest={{datadir}}/jdk-6u45-linux-x64.bin
- name: 拷贝weblogic安装包到目标主机
copy: src=wls1036_generic.jar dest={{datadir}}/wls1036_generic.jar
- name: 修改配置文件soft nofile 65535
shell: echo "soft nofile 65535" >> /etc/security/limits.conf
- name: 修改配置文件hard nofile 65535
shell: echo "hard nofile 65535" >> /etc/security/limits.conf
- name: 修改安装包文件权限
shell: chmod 777 {{datadir}}/jdk-6u45-linux-x64.bin {{datadir}}/wls1036_generic.jar
- name: 执行jdk安装文件
shell: su - {{user}} -c {{datadir}}/jdk-6u45-linux-x64.bin
- name: 移动jdk安装文件到指定目录
shell: mv /home/{{user}}/jdk1.6.0_45 {{datadir}}/
- name: 拷贝silent.xml到目标主机
copy: src=silent.xml dest={{datadir}}/silent.xml
- name: 修改silent.xml文件权限
shell: chmod 777 {{datadir}}/silent.xml
- name: 设置静默安装脚本应用目录
shell: sed -i 's/15801491470/{{datadir2}}/g' {{datadir}}/silent.xml
- name: 开始安装weblogic主文件,这可能需要一支烟的时间
shell: su - {{user}} -c "{{datadir}}/jdk1.6.0_45/bin/java -jar {{datadir}}/wls1036_generic.jar -mode=silent -silent_xml={{datadir}}/silent.xml"
- name: 正在安装expect,一个功能叼炸天的交互软件
shell: yum install -y expect
- name: 拷贝超级神秘的交互脚本到目标主机
copy: src=jiaohu.sh dest={{datadir}}/weblogic/common/bin/jiaohu.sh
- name: 设置运行路径
shell: sed -i 's/15801491470/{{datadir2}}/g' {{datadir}}/weblogic/common/bin/jiaohu.sh
- name: 设置domain名
shell: sed -i 's/domain888/{{domain}}/g' {{datadir}}/weblogic/common/bin/jiaohu.sh
- name: 设置domain密码
shell: sed -i 's/aabbAABB!!/{{domainpass}}/g' {{datadir}}/weblogic/common/bin/jiaohu.sh
- name: 设置weblogic端口
shell: sed -i 's/7001/{{port}}/g' {{datadir}}/weblogic/common/bin/jiaohu.sh
- name: 设置被管端weblogic名
shell: sed -i 's/appserver/{{domainapp}}/g' {{datadir}}/weblogic/common/bin/jiaohu.sh
- name: 设置被管端weblogic端口
shell: sed -i 's/7003/{{portapp}}/g' {{datadir}}/weblogic/common/bin/jiaohu.sh
- name: 修改交互脚本文件权限
shell: chmod 777 {{datadir}}/weblogic/common/bin/jiaohu.sh
- name: 开始安装weblogic域,安装日志在/tmp/liujia.log,这可能需要两支烟的时间,抽时间微信跳一跳吧
shell: su - {{user}} -c "{{datadir}}/weblogic/common/bin/jiaohu.sh &> /tmp/liujia.log"
- name: 修改内存参数1
shell: sed -i '133iif [ "${SERVER_NAME}" = "AdminServer" ] ; then' {{datadir}}/Middleware/user_projects/domains/{{domain}}/bin/startWebLogic.sh
- name: 修改内存参数2
shell: sed -i '134iMEM_ARGS="-Xms512m -Xmx512m -XX:MaxPermSize=256m"' {{datadir}}/Middleware/user_projects/domains/{{domain}}/bin/startWebLogic.sh
- name: 修改内存参数3
shell: sed -i '135ifi' {{datadir}}/Middleware/user_projects/domains/{{domain}}/bin/startWebLogic.sh
- name: 解决界面加载慢问题
shell: echo 'JAVA_OPTIONS="${JAVA_OPTIONS} -Djava.security.egd=file:/dev/./urandom"' >> {{datadir}}/Middleware/user_projects/domains/{{domain}}/bin/setDomainEnv.sh
- name: 解决界面加载慢问题
shell: echo "export JAVA_OPTIONS" >> {{datadir}}/Middleware/user_projects/domains/{{domain}}/bin/setDomainEnv.sh
- name: 拷贝weblogic启动交互脚本到目标主机
copy: src=jiaohu-startweblogic.sh dest={{datadir}}/Middleware/user_projects/domains/{{domain}}/jiaohu-startweblogic.sh
- name: 设置交互脚本配置1
shell: sed -i 's/15801491470/{{datadir2}}/g' {{datadir}}/Middleware/user_projects/domains/{{domain}}/jiaohu-startweblogic.sh
- name: 设置交互脚本配置2
shell: sed -i 's/domain888/{{domain}}/g' {{datadir}}/Middleware/user_projects/domains/{{domain}}/jiaohu-startweblogic.sh
- name: 设置交互脚本配置3
shell: sed -i 's/aabbAABB!!/{{domainpass}}/g' {{datadir}}/Middleware/user_projects/domains/{{domain}}/jiaohu-startweblogic.sh
- name: 修改weblogic启动交互脚本文件权限
shell: chmod 777 {{datadir}}/Middleware/user_projects/domains/{{domain}}/jiaohu-startweblogic.sh
- name: 开始尝试第一次启动weblogic服务,启动过程可查看/tmp/liujia2.log
shell: su - {{user}} -c "{{datadir}}/Middleware/user_projects/domains/{{domain}}/jiaohu-startweblogic.sh &> /tmp/liujia2.log"
- name: 建立security文件夹
shell: su - {{user}} -c "mkdir {{datadir}}/Middleware/user_projects/domains/{{domain}}/servers/AdminServer/security"
- name: 建立boot.properties免登录密码文件
shell: su - {{user}} -c "touch {{datadir}}/Middleware/user_projects/domains/{{domain}}/servers/AdminServer/security/boot.properties"
- name: 设置免登陆用户
shell: echo "username=weblogic" > {{datadir}}/Middleware/user_projects/domains/{{domain}}/servers/AdminServer/security/boot.properties
- name: 设置免登陆用户密码
shell: echo "password={{domainpass}}" >> {{datadir}}/Middleware/user_projects/domains/{{domain}}/servers/AdminServer/security/boot.properties
- name: 正式启动weblogic服务
shell: su - {{user}} -c "nohup {{datadir}}/Middleware/user_projects/domains/{{domain}}/startWebLogic.sh > {{datadir}}/Middleware/user_projects/domains/{{domain}}/nohup{{port}}.out &"
- name: 拷贝weblogic启动交互脚本到目标主机(域操作)
copy: src=jiaohu-startweblogic-app.sh dest={{datadir}}/Middleware/user_projects/domains/{{domain}}/bin/jiaohu-startweblogic-app.sh
- name: 设置交互脚本配置1(域操作)
shell: sed -i 's/15801491470/{{datadir2}}/g' {{datadir}}/Middleware/user_projects/domains/{{domain}}/bin/jiaohu-startweblogic-app.sh
- name: 设置交互脚本配置2(域操作)
shell: sed -i 's/domain888/{{domain}}/g' {{datadir}}/Middleware/user_projects/domains/{{domain}}/bin/jiaohu-startweblogic-app.sh
- name: 设置交互脚本配置3(域操作)
shell: sed -i 's/aabbAABB!!/{{domainpass}}/g' {{datadir}}/Middleware/user_projects/domains/{{domain}}/bin/jiaohu-startweblogic-app.sh
- name: 设置交互脚本配置4(域操作)
shell: sed -i 's/appserver/{{domainapp}}/g' {{datadir}}/Middleware/user_projects/domains/{{domain}}/bin/jiaohu-startweblogic-app.sh
- name: 修改weblogic启动交互脚本文件权限(域操作)
shell: chmod 777 {{datadir}}/Middleware/user_projects/domains/{{domain}}/bin/jiaohu-startweblogic-app.sh
- name: 开始尝试第一次启动weblogic(域)服务,启动过程可查看/tmp/liujia3.log
shell: su - {{user}} -c "{{datadir}}/Middleware/user_projects/domains/{{domain}}/bin/jiaohu-startweblogic-app.sh appserver&> /tmp/liujia3.log"
- name: 建立security文件夹(域操作)
shell: su - {{user}} -c "mkdir {{datadir}}/Middleware/user_projects/domains/{{domain}}/servers/{{domainapp}}/security"
- name: 建立boot.properties免登录密码文件(域操作)
shell: su - {{user}} -c "touch {{datadir}}/Middleware/user_projects/domains/{{domain}}/servers/{{domainapp}}/security/boot.properties"
- name: 设置免登陆用户(域操作)
shell: echo "username=weblogic" > {{datadir}}/Middleware/user_projects/domains/{{domain}}/servers/{{domainapp}}/security/boot.properties
- name: 设置免登陆用户密码(域操作)
shell: echo "password={{domainpass}}" >> {{datadir}}/Middleware/user_projects/domains/{{domain}}/servers/{{domainapp}}/security/boot.properties
- name: 正式启动weblogic(域)服务
shell: su - {{user}} -c "nohup {{datadir}}/Middleware/user_projects/domains/{{domain}}/bin/startManagedWebLogic.sh {{domainapp}}> {{datadir}}/Middleware/user_projects/domains/{{domain}}/nohup{{portapp}}.out &"
- name: 删除一系列安装时候创建的临时文件、安装包、隐患文件、脚本等1
shell: rm -rf {{datadir}}/jdk-6u45-linux-x64.bin
- name: 删除一系列安装时候创建的临时文件、安装包、隐患文件、脚本等2
shell: rm -rf {{datadir}}/wls1036_generic.jar
- name: 删除一系列安装时候创建的临时文件、安装包、隐患文件、脚本等3
shell: rm -rf {{datadir}}/silent.xml
- name: 删除一系列安装时候创建的临时文件、安装包、隐患文件、脚本等4
shell: rm -rf {{datadir}}/weblogic/common/bin/jiaohu.sh
- name: 删除一系列安装时候创建的临时文件、安装包、隐患文件、脚本等5
shell: rm -rf {{datadir}}/Middleware/user_projects/domains/{{domain}}/jiaohu-startweblogic.sh
- name: 删除一系列安装时候创建的临时文件、安装包、隐患文件、脚本等6
shell: rm -rf {{datadir}}/Middleware/user_projects/domains/{{domain}}/bin/jiaohu-startweblogic-app.sh
- name: 大吉大利,今晚吃鸡!
shell: rm -rf /tmp/liujia*

浙公网安备 33010602011771号