Files
semaphore/playbooks/install_software_win.yml

60 lines
2.1 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
- name: Install Software from SMB
hosts: windows
gather_facts: no
# Не забываем про коллекции, если они нужны
collections:
- community.windows
- ansible.windows
vars:
drive_letter: "Z"
# smb_user, smb_pass, smb_path приходят из Semaphore Environment
tasks:
# 1. СНАЧАЛА УДАЛЯЕМ ДИСК (Принудительная зачистка)
# Это гарантирует, что старые зависшие сессии не помешают
- name: Force unmount Z drive
community.windows.win_mapped_drive:
letter: "{{ drive_letter }}"
state: absent
ignore_errors: yes # Не падать, если диска и так нет
# 2. ТЕПЕРЬ МОНТИРУЕМ НАЧИСТО
- name: Mount Network Drive
community.windows.win_mapped_drive:
letter: "{{ drive_letter }}"
path: "{{ smb_path }}"
username: "{{ smb_user }}"
password: "{{ smb_pass }}"
state: present
# 3. Проверяем файлы (для отладки)
- name: Check file existence
win_stat:
path: "{{ drive_letter }}:\\Stirling-PDF.msi"
register: file_info
# 4. Установка
- name: Install Stirling-PDF (MSI)
ansible.windows.win_package:
path: "{{ drive_letter }}:\\Stirling-PDF.msi"
state: present
arguments: /quiet /norestart
when: file_info.stat.exists
# Пример 2: Установка EXE (Notepad++)
- name: Install Notepad++ (EXE)
ansible.windows.win_package:
path: "{{ drive_letter }}:\\notepad.exe"
state: present
# Для EXE ключи тихой установки зависят от установщика (/S, /VERYSILENT и т.д.)
arguments: /S
product_id: Notepad++ # Помогает Ansible понять, установлен ли софт
# 5. Уборка
- name: Unmount Network Drive
community.windows.win_mapped_drive:
letter: "{{ drive_letter }}"
state: absent