52 lines
1.9 KiB
YAML
52 lines
1.9 KiB
YAML
---
|
||
- 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
|
||
|
||
tasks:
|
||
# 1. Монтируем диск
|
||
- name: Mount Network Drive
|
||
ansible.windows.win_mapped_drive: # Или ansible.windows.win_mapped_drive
|
||
letter: "{{ drive_letter }}"
|
||
path: "{{ smb_path }}"
|
||
username: "{{ smb_user }}"
|
||
password: "{{ smb_pass }}"
|
||
state: present
|
||
|
||
# --- СЮДА ВСТАВЛЯЕМ УСТАНОВКУ ---
|
||
|
||
# Пример 1: Установка MSI (самый надежный вариант)
|
||
- name: Install Stirling-PDF (MSI)
|
||
ansible.windows.win_package:
|
||
# Важно: путь начинается с буквы диска (Z:)
|
||
path: "{{ drive_letter }}:\\Stirling-PDF.msi"
|
||
state: present
|
||
arguments: /quiet /norestart
|
||
# Игнорировать ошибки, если файл не найден (для теста можно убрать)
|
||
ignore_errors: no
|
||
|
||
# Пример 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 понять, установлен ли софт
|
||
|
||
# --------------------------------
|
||
|
||
# 3. Отключаем диск
|
||
- name: Unmount Network Drive
|
||
ansible.windows.win_mapped_drive:
|
||
letter: "{{ drive_letter }}"
|
||
state: absent |