Katakanlah saya menjalankan yang berikut ini.
$ cat test.sh
#!/bin/bash
echo Hello World
exit 0
$ cat Hello.yml
---
- hosts: MyTestHost
tasks:
- name: Hello yourself
script: test.sh
$ ansible-playbook Hello.yml
PLAY [MyTestHost] ****************************************************************
GATHERING FACTS ***************************************************************
ok: [MyTestHost]
TASK: [Hello yourself] ********************************************************
ok: [MyTestHost]
PLAY RECAP ********************************************************************
MyTestHost : ok=2 changed=0 unreachable=0 failed=0
$
Saya tahu pasti bahwa itu berhasil.
Di mana / bagaimana saya melihat "Hello World" bergema / dicetak oleh skrip saya pada host jarak jauh (MyTestHost)? Atau kode kembali / keluar dari skrip?
Penelitian saya menunjukkan kepada saya bahwa dimungkinkan untuk menulis plugin untuk mencegat callback eksekusi modul atau sesuatu di baris tersebut dan menulis file log. Saya lebih suka tidak membuang waktu saya dengan itu.
Misalnya sesuatu seperti stdout di bawah (perhatikan bahwa saya menjalankan ansible dan bukan ansible-playbook):
$ ansible plabb54 -i /project/plab/svn/plab-maintenance/ansible/plab_hosts.txt -m script -a ./test.sh
plabb54 | success >> {
"rc": 0,
"stderr": "",
"stdout": "Hello World\n"
}
$
set -x
danset +x
dalam skrip shell.