У меня есть продукт, который я могу сначала установить, а затем обновить, что означает добавление дополнительных функций к моему базовому продукту.
Я делаю это, запуская MSI в первый раз, затем переходя в «Установка и удаление программ», и при выборе продукта вы можете нажать «Изменить», и мастер установки снова появится, что позволит вам выбрать и установить дополнительные функции в продукте.
Я создал 2 роли ansible и playbooks для этой миссии.
Первая роль использует ansible.windows.win_package для установки базового продукта (см. пример ниже).
- имя: Установить Server.msi primary_appserver
ansible.windows.win_package:
путь: C:\product.msi
путь_журнала: C:\InstallProduct.log
аргументы:
ADDLOCAL=БД,Агент
состояние: присутствует
стать истинным
be_method: руны
вары:
ansible_become_user: "{{ ansible_user }}"
ansible_become_password: "{{ ansible_password }}"
когда: "'primary_appservers' в group_names"
Вторая роль снова использует ansible.windows.win_package с другими аргументами ADDLOCAL (дополнительные функции):
- имя: Install Engine primary_appserver
ansible.windows.win_package:
путь: C:\product.msi
путь_журнала: C:\InstallEngine.log
аргументы:
ADDLOCAL=Двигатель
состояние: присутствует
стать истинным
be_method: руны
вары:
ansible_become_user: "{{ ansible_user }}"
ansible_become_password: "{{ ansible_password }}"
когда: "'primary_appservers' в group_names"
Первая роль работает нормально и выполняет msi файл, вторая - нет
Если я выполняю эти две задачи с помощью CLI, msiexec /i, все работает нормально.
Итак, почему он не работает при выполнении ansible.windows.win_package?