Puncte:1

De ce rularea a doua oară a ansible.windows.win_package nu funcționează?

drapel uz

Am un produs pe care îl pot instala mai întâi, apoi îl pot actualiza - adică să adaug mai multe caracteristici produsului meu de bază

O fac executând prima dată MSI, apoi mergând la Adăugare \ Eliminare programe și când selectați produsul, puteți face clic pe „Schimbare” și va apărea din nou expertul de instalare, permițându-vă să selectați și să instalați caracteristici suplimentare în produs

Am creat 2 roluri ansible și cărți de joc pentru această misiune Primul rol folosește ansible.windows.win_package pentru a instala produsul de bază (vezi exemplul de mai jos)

- nume: Instalați Server.msi primary_appserver
  ansible.windows.win_package:
    cale: C:\product.msi
    calea_log: C:\InstallProduct.log
    argumente:
     ADDLOCAL=DB,Agent
    stare: prezent
  deveni: adevărat
  deveni_metoda: runas
  vars:
    ansible_become_user: „{{ ansible_user }}”
    ansible_become_password: „{{ ansible_password }}”
  când: „„servere de aplicații primare” în nume_grup”

Al doilea rol folosește din nou ansible.windows.win_package cu argumente ADDLOCAL diferite (funcțiile suplimentare):

- nume: Install Engine primary_appserver
  ansible.windows.win_package:
    cale: C:\product.msi
    calea_log: C:\InstallEngine.log
    argumente:
     ADDLOCAL=Motor
    stare: prezent
  deveni: adevărat
  deveni_metoda: runas
  vars:
    ansible_become_user: „{{ ansible_user }}”
    ansible_become_password: „{{ ansible_password }}”
  când: „„servere de aplicații primare” în nume_grup”

Primul rol este să funcționeze bine și execută fișierul msi, al doilea - nu Dacă fac acele două sarcini, cu CLI, msiexec /i funcționează bine Deci, de ce nu funcționează când se execută ansible.windows.win_package?

drapel in
Bănuiala mea ar fi „starea: prezent”. Este deja prezent, deci nu este nevoie să îl rulați din nou. Există vreun fișier/dosar sau serviciu pe care îl puteți verifica cu `creates_path` sau `creates_service` care este creat doar de a doua rulare?
drapel uz
poate fi luat în considerare un nou fișier jurnal de instalare?
drapel in
Eventual. Merită încercat.
drapel uz
Caracteristica suplimentară - ar trebui să adauge un director suplimentar cu numele său „Motor” în folderul produsului. Îl putem folosi în cheia ```create_path```?
drapel in
Da, acesta este scopul `create_path`, pentru a verifica dacă există. Dacă nu, sarcina dvs. ar trebui să fie executată.
drapel uz
@GeraldSchneider Am eliminat ```state``` și am adăugat cheia ```creates_path``` - Funcționează ca o magie. mulțumesc
Puncte:1
drapel in

Această problemă este cel mai probabil stare: prezent parametru, deoarece pachetul este deja prezent atunci când sarcina este executată. În schimb, puteți folosi creează_cale sau creează_serviciu params pentru a verifica dacă este necesar pentru a instala pachetul.

Exemplu:

- nume: Install Engine primary_appserver
  ansible.windows.win_package:
    cale: C:\product.msi
    calea_log: C:\InstallEngine.log
    argumente:
    ADDLOCAL=Motor
    creates_path: „C:\Cale\la\produs\dosar”
  deveni: adevărat
  deveni_metoda: runas
  vars:
    ansible_become_user: „{{ ansible_user }}”
    ansible_become_password: „{{ ansible_password }}”
  când: „„servere de aplicații primare” în nume_grup”

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.