ansible-playbook運行步驟調度

ansible-playbook運行步驟調度

官方大致提供如下幾個特性:對於測試或調試新的playbook很有幫助.
1:tag
2:start-at
3:skip-tags
4:step

Demo playbook:

---
- name: shutdown etcd
  service: name=etcd state=stopped enabled=no
  ignore_errors: yes
  tags:
      - shutdown

- name: del etcd dir
  shell: 'rm -rf {{ item }}'
  with_items:
      - { ETCD_DIR }
  tags:
      - deldir

- name: create etcd dir
  file:
       path: '{{ item }}'
       state: directory
       mode: 755
  with_items:
      - { ETCD_DIR }
  tags:
      - mkdir

tag 示例:

如果你只想運行 playbook 中的”shutdown”和”mkdir”,你可以這樣做

ansible-playbook example.yml – tags “shutdown,mkdir”

tag 特性是一個不錯的功能,但如果真的是要維護一個大型的 playbook,還是建議將 playbook 按功能或應用拆分成多個 playbook,然後再在主 playbook include 其他子 playbook,這樣即既利於維護也方便管理.

start-at 示例

從指定任務開始運行palybook以及分步運行playbook,如果你想從指定的任務開始執行playbook,可以使用–start-at選項:
以下命令就會在名爲”deldir”的任務開始執行你的playbook.

ansible-playbook playbook.yml --start-at="deldir"

skip-tags 示例

如果你只想執行 playbook 中某個特定任務之外的所有任務,你可以這樣做:

ansible-playbook example.yml – skip-tags “deldir”

分步運行playbook 示例

可以通過–step選項來交互式的執行playbook,ansible在每個任務前會自動停止,並詢問是否應該執行該任務.

ansible-playbook playbook.yml --step

比如你有個名爲``deldir``的任務,playbook執行到這裏會停止並詢問:

Perform task: deldir (y/n/c):

“y”回答會執行該任務,
”n”回答會跳過該任務,
而”c”回答則會繼續執行剩餘的所有任務而不再詢問你.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章