we can use this playbook.yml file to checkIfAppExists:
---
- hosts: all
become: wasadmin
tasks:
- name: Register a variable
ansible.builtin.shell: /app/IBM/WebSphere/AppServer/profiles/AppSrv01/bin/wsadmin.sh -conntype none -lang jython -c 'AdminApplication.checkIfAppExists("PlantsByWebSphere")'
register: checkIfAppExists_out
- debug: var=checkIfAppExists_out.stdout_lines
- name: undeploy
ansible.builtin.command: /app/IBM/WebSphere/AppServer/profiles/AppSrv01/bin/wsadmin.sh -conntype none -lang jython -c "AdminApp.uninstall('PlantsByWebSphere')"
when: not "false" in checkIfAppExists_out.stdout
- name: deploy war file
ansible.builtin.command: /app/IBM/WebSphere/AppServer/profiles/AppSrv01/bin/wsadmin.sh -conntype none -lang jython -c "AdminApp.install('/home/vadmin/jsat-API-{{env_name}}-1.0.0.war', ['-appname', 'PlantsByWebSphere', '-usedefaultbindings', '-server', 'server1'])"
- name: start the application
ansible.builtin.command: /app/IBM/WebSphere/AppServer/profiles/AppSrv01/bin/wsadmin.sh -lang jython -c "AdminApplication.startApplicationOnSingleServer('PlantsByWebSphere', 'AppNode01', 'server1')"
Here is the output from pipeline:
2021-12-15T15:14:52.3811853Z PLAY [all] *********************************************************************
2021-12-15T15:14:52.3903924Z
2021-12-15T15:14:52.3904885Z TASK [Gathering Facts] *********************************************************
2021-12-15T15:14:55.6895107Z ok: [10.200.14.87]
2021-12-15T15:14:55.7094046Z
2021-12-15T15:14:55.7102411Z TASK [Register a variable] *****************************************************
2021-12-15T15:15:00.6996473Z changed: [10.200.14.87]
2021-12-15T15:15:00.7187784Z
2021-12-15T15:15:00.7189161Z TASK [debug] *******************************************************************
2021-12-15T15:15:00.7670493Z ok: [10.200.14.87] => {
2021-12-15T15:15:00.7671874Z "checkIfAppExists_out.stdout_lines": [
2021-12-15T15:15:00.7672744Z "WASX7357I: By request, this scripting client is not connected to any server process. Certain configuration and application operations will be available in local mode.",
2021-12-15T15:15:00.7674211Z "---------------------------------------------------------------",
2021-12-15T15:15:00.7674861Z " AdminApplication: Check if application exists",
2021-12-15T15:15:00.7675503Z " Application Name: PlantsByWebSphere",
2021-12-15T15:15:00.7676093Z " Usage: AdminApplication.checkIfAppExists(\"PlantsByWebSphere\")",
2021-12-15T15:15:00.7676828Z " Return: Checks whether the application exists. If the application exists, a true value is returned.",
2021-12-15T15:15:00.7677784Z "---------------------------------------------------------------",
2021-12-15T15:15:00.7678312Z " ",
2021-12-15T15:15:00.7679286Z " ",
2021-12-15T15:15:00.7679870Z "'false'"
2021-12-15T15:15:00.7680488Z ]
2021-12-15T15:15:00.7681033Z }
2021-12-15T15:15:00.7849801Z
2021-12-15T15:15:00.7851020Z TASK [undeploy] ****************************************************************
2021-12-15T15:15:00.8276416Z skipping: [10.200.14.87]
2021-12-15T15:15:00.8464468Z
2021-12-15T15:15:00.8467003Z TASK [deploy war file] *********************************************************
2021-12-15T15:15:29.0518902Z changed: [10.200.14.87]
2021-12-15T15:15:29.0530467Z
2021-12-15T15:15:29.0531564Z PLAY RECAP *********************************************************************
2021-12-15T15:15:29.0532228Z 10.200.14.87 : ok=4 changed=2 unreachable=0 failed=0 skipped=1 rescued=0 ignored=0