Ansible выполнение с использованием переменных - PullRequest
0 голосов
/ 21 апреля 2020

привет, я хочу выполнить команду "java -jar xxxxxxx.war 172.xx.xxx.xx" на хосте. Я могу выполнить в одной системе через Ansible, но я хочу выполнить эту команду на нескольких хостах, и это выполнение должно быть выполнено по соответствующим IP-адресам их систем.

например:

java -jar xxxxxxx.war 172.xx.xxx.01 needs to be executed on the system with the IP 172.xx.xxx.01

java -jar xxxxxxx.war 172.xx.xxx.02 needs to be executed on the system with the IP 172.xx.xxx.02

- name: Executing the jar file
  win_shell: "CMD /C \"java -jar generateKeyStoreFiles.jar storeipTest.csv\""
  args:
   chdir: C:/Keystore_Pem_FileAutoGenerationOracle_allgoodthings/
- name: Copying of Xstore POS Installer
  win_copy:
   src: /root/Installers/Softwares/Xstore
   dest: C:/Installers/Softwares/
- name: Copying of xstore_mobile.keystore file
  win_copy:
   src: C:/Keystore_Pem_FileAutoGenerationOracle_allgoodthings/finalcerts/cert/xstore_mobile.keystore
   dest: C:/Installers/Softwares/Xstore/
   remote_src: yes
- name: install Xstore POS
  win_shell: "CMD /C \"java -jar xstore-18.0.0.0.654-0.0.0-0.0-XST-pos-install.jar\""
  args:
   chdir: C:/Installers/Softwares/Xstore/

как это возможно? Мне нужно выполнить это на windows хостах.

1 Ответ

0 голосов
/ 21 апреля 2020

Полагаю, вы могли бы создать инвентарь и игровую книгу, чтобы достичь этого.

инвентарь

[all]
13.48.139.217
13.48.139.218

playbook.yml

- hosts: all
  tasks:
    - name: run java command
      command: java -jar xxxxxxx.war {{ansible_host}}

{{ansible_host}} - это переменная Asnsible, которая будет заменена IP-адресом, указанным в перечне. Затем выполните это ansible-playbook -i inventory playbook.yml.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...