You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求编写支持WebLogic/WebSphere选择安装的Ansible Playbook

可选安装WebLogic/WebSphere的Ansible Playbook实现

实现思路

通过自定义变量控制安装目标,结合条件判断执行对应组件的安装任务,灵活切换WebLogic或WebSphere的安装流程:

  • 用target_app变量指定要安装的组件,可选值为weblogic或websphere
  • 针对每个组件编写独立的安装任务块,通过when条件判断触发执行
  • 抽象安装介质路径、安装目录等参数为变量,适配不同环境

完整Playbook代码

---
- name: 按需安装WebLogic或WebSphere
  hosts: all
  vars:
    # 核心控制变量:指定安装weblogic或websphere
    target_app: "weblogic"
    # 安装基础目录,可根据组件调整
    install_base_dir: "/opt/apps"
    # WebLogic相关变量
    weblogic_installer: "/data/installers/wls12214.jar"
    weblogic_response_file: "/data/configs/weblogic_silent.rsp"
    # WebSphere相关变量
    websphere_installer: "/data/installers/was90.bin"
    websphere_response_file: "/data/configs/was_silent.xml"

  tasks:
    # WebLogic安装任务块
    - name: 执行WebLogic静默安装
      block:
        - name: 创建WebLogic安装目录
          file:
            path: "{{ install_base_dir }}/weblogic"
            state: directory
            mode: '0755'
            owner: oracle
            group: oinstall

        - name: 运行WebLogic安装程序
          command: "java -jar {{ weblogic_installer }} -silent -response {{ weblogic_response_file }}"
          args:
            creates: "{{ install_base_dir }}/weblogic/wlserver"
          become: yes
          become_user: oracle
      when: target_app == "weblogic"

    # WebSphere安装任务块
    - name: 执行WebSphere静默安装
      block:
        - name: 创建WebSphere安装目录
          file:
            path: "{{ install_base_dir }}/websphere"
            state: directory
            mode: '0755'
            owner: wasadmin
            group: wasgrp

        - name: 运行WebSphere安装程序
          command: "{{ websphere_installer }} -options {{ websphere_response_file }} -silent"
          args:
            creates: "{{ install_base_dir }}/websphere/AppServer"
          become: yes
          become_user: wasadmin
      when: target_app == "websphere"

使用说明

  1. 配置变量

    • 修改target_app的值为weblogic或websphere,指定要安装的组件
    • 根据实际环境更新安装介质路径、响应文件路径、安装目录、用户组等参数
    • 提前准备静默安装响应文件:
      • WebLogic:编写.rsp文件,配置安装路径、组件选择、是否创建域等参数
      • WebSphere:编写.xml文件,配置安装路径、功能组件、许可协议等参数
  2. 执行Playbook

    • 直接修改Playbook内的target_app变量后执行:
      ansible-playbook -i inventory.ini install_app.yml
      
    • 或通过命令行动态传递变量(无需修改Playbook):
      # 安装WebSphere
      ansible-playbook -i inventory.ini install_app.yml -e "target_app=websphere"
      # 安装WebLogic
      ansible-playbook -i inventory.ini install_app.yml -e "target_app=weblogic"
      

注意事项

  • 目标服务器需提前安装对应版本的Java环境(WebLogic和WebSphere对Java版本有要求,可添加前置任务自动安装)
  • 安装介质需提前上传至目标服务器或通过共享存储访问
  • 执行安装的用户需拥有安装目录的读写权限,示例中使用become切换到对应业务用户

内容的提问来源于stack exchange,提问作者Ansible_Coder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 03:10:34