--list-tasks
オプションをつけてあげればよい
「初めてのAnsible」のGitHubページよりサンプルを拝借
web-tls.yml
- name : Configure webserver with nginx
hosts: vagrant
become: True
vars:
key_file: /etc/nginx/ssl/nginx.key
cert_file: /etc/nginx/ssl/nginx.crt
conf_file: /etc/nginx/sites-available/default
server_name: localhost
tasks:
- name: install nginx
apt: name=nginx update_cache=yes cache_valid_time=3600
- name: create derectories for ssl certificates
file: path=/etc/nginx/ssl state=directory
- name: copy TLS key
copy: src=files/nginx.key dest={{ key_file }} owner=root mode=0600
notify: restart nginx
- name: copy TLS certificate
copy: src=files/nginx.crt dest={{ cert_file }}
notify: restart nginx
- name: copy nginx config file
template: src=templates/nginx.conf.j2 dest={{ conf_file }}
notify: restart nginx
- name: enable configuration
file: dest=/etc/nginx/sites-enabled/default src={{ conf_file }} state=link
notify: restart nginx
- name: copy index.html
template: src=templates/index.html.j2 dest=/usr/shaore/nginx/html/index.html mode=0644
handlers:
- name: restart nginx
service: name=nginx state=restarted
上記のplaybookのタスク一覧を出力すると以下のようになる
$ ansible-playbook web-tls.yml --list-tasks
play #1 (vagrant): Configure webserver with nginx TAGS: []
tasks:
install nginx TAGS: []
create derectories for ssl certificates TAGS: []
copy TLS key TAGS: []
copy TLS certificate TAGS: []
copy nginx config file TAGS: []
enable configuration TAGS: []
copy index.html TAGS: []
name
オプションに付けられたタスク名が出力されていることが分かる
name
オプションを付けていなかった場合には、そのタスクのモジュール名(apt
やfile
)が出力される
ansible-playbook --start-at-task="<task_name>"
で任意のタスクからplaybookを実行できるし、name
は付けるようにしとこう