はい、Ansible ホストでコマンドを実行できます。Play 内のすべてのタスクが Ansible ホストで実行されるように指定するか、個々のタスクを Ansible ホストで実行するようにマークすることができます。
Ansible ホストでプレイ全体を実行する場合は、プレイでhosts: 127.0.0.1
andconnection:local
を指定します。次に例を示します。
- name: a play that runs entirely on the ansible host
hosts: 127.0.0.1
connection: local
tasks:
- name: check out a git repository
git: repo=git://foosball.example.org/path/to/repo.git dest=/local/path
詳細については、Ansible ドキュメントのLocal Playbooksを参照してください。
Ansible ホストで 1 つのタスクを実行するだけの場合は、 を使用local_action
して、タスクをローカルで実行するように指定できます。例えば:
- name: an example playbook
hosts: webservers
tasks:
- ...
- name: check out a git repository
local_action: git repo=git://foosball.example.org/path/to/repo.git dest=/local/path
詳細については、Ansible ドキュメントの「タスクの実行場所の制御: 委任とローカル アクション」を参照してください。
connection: local
これをインベントリに追加することで、プレイを入力する必要がなくなります。
localhost ansible_connection=local
(ここでは、" localhost
" の代わりに " 127.0.0.1
" を使用して劇を参照します)。
Ansible の新しいバージョンでは、上記の行をインベントリーに追加する必要はなくなりました。Ansible は、既にそこにあると想定します。