預設情況下,ansible在執行乙個playbook時,會執行playbook中定義的所有任務,ansible的標籤(tag)功能可以給單獨任務甚至整個playbook打上標籤,然後利用這些標籤來指定要執行playbook中的個別任務,或不執行指定的任務。
1.對乙個task下面的乙個name打乙個標籤
2.對乙個task下面的乙個name打多個標籤
3.對task下面的多個name打乙個標籤
.. ... ...-name: config nginx server
copy:
src: /root/conf/linux.wp.com.conf
dest: /etc/nginx/conf.d/notify:
-restart_web_nginx
-get_nginx_status
when: ansible_fqdn
is match "
web*
"tags: config_web
... ... ...
-name: config nginx servercopy:
src: /root/conf/linux.wp.com.conf
dest: /etc/nginx/conf.d/notify:
-restart_web_nginx
-get_nginx_status
when: ansible_fqdn
is match "
web*
"tags:
-config_web
- config_nginx
-name: config slb servercopy:
src: /root/conf/proxy.conf
dest: /etc/nginx/conf.d
notify: restart_slb
when: ansible_fqdn == "
lb01
"tags: config_nginx
-name: config nginx server
copy:
src: /root/conf/linux.wp.com.conf
dest: /etc/nginx/conf.d/notify:
-restart_web_nginx
-get_nginx_status
when: ansible_fqdn
is match "
web*
"tags:
-config_web
- config_nginx
#檢視所有的標籤(也可以檢視該劇本有多少 hosts )[root@m01 ~]# ansible-playbook lnmp6.yml --list-tags
#執行標籤指定的動作
[root@m01 ~]# ansible-playbook lnmp2.yml -t config_web
#執行指定多個標籤的動作
[root@m01 ~]# ansible-playbook lnmp2.yml -t config_nginx,config_web
#跳過指定的標籤動作
[root@m01 ~]# ansible-playbook lnmp2.yml --skip-tags config_nginx
Playbook環境安裝
乙個平台要想真正的發展是需要蕩平發展道路上的所有障礙,就算無法蕩平,也要給出繞過去的說明文件。這一點對playbook來說還有很長的路要走。2,技術支援太需要加強了,沒有太方便開發者提問題的地方,發郵件,到死估計都不會有人理你。不多說了,大概寫下環境搭建過程吧 1,安裝a1.vmware playe...
playbook語言結構
task 任務 使用各模組所執行的特性操作任務,比如 m user a name password variables 變數 templates 模板在定義模板後可以實現各節點對應的變數來取代,表示式自身會根據當前節點所賦值做運算,之後生成的值則賦予這個引數,用於生產不同配置的配置檔案,所以模板主要...
playbook語法基礎
呼叫playbook ansible playbook 命名.yml playbook由yaml語言編寫,遵循yaml標準 同一行中 後表示注釋 同一列表的元素表示相同距離縮排 playbook由乙個或多個play組成 play中hosts,variables,roles,tasks等物件的表示方法...