Playbooks 是 Ansible的配置,部署,編排語言.他們可以被描述為一個(gè)需要希望遠(yuǎn)程主機(jī)執(zhí)行命令的方案,或者一組IT程序運(yùn)行的命令集合.
一個(gè)playbook就是一個(gè)YAML文件抑进,所以playbook文件一般都以.yml結(jié)尾胚泌,一個(gè)playbook文件由一個(gè)或多個(gè)play組成系瓢,每個(gè)play定義了在一個(gè)或多個(gè)遠(yuǎn)程主機(jī)上執(zhí)行的一系列的task砾省,其中每個(gè)task一般就是調(diào)用一個(gè)ansible的模塊,如調(diào)用copy模塊復(fù)制文件到遠(yuǎn)程主機(jī)或調(diào)用shell模塊執(zhí)行命令钙姊。
簡單的配置
配置deploy.yml完成進(jìn)入遠(yuǎn)程服務(wù)器的某個(gè)目錄并執(zhí)行g(shù)it pull操作
1 - hosts: wxnacy # 它會默認(rèn)使用/etc/ansible/hosts 中配置的服務(wù)器組名 也可以單獨(dú)設(shè)置hosts地址
2 tasks:
3 - name: cd path and git pull # 命令名稱
4 shell: git pull # 執(zhí)行命令
5 args:
6 chdir: ~/workdir # 進(jìn)入目錄
運(yùn)行
$ ansible-playbook deploy.yml
PLAY [wxnacy] *************************************************************************
TASK [cd path and git pull] *************************************************************************
ok: [wxnacy.server.org]
PLAY RECAP *************************************************************************
wxnacy.server.org : ok=2 changed=1 unreachable=0 failed=0
執(zhí)行完運(yùn)行命令ansible會在webservers組中依次執(zhí)行tasks毅该,返回以上樣式結(jié)果極為成功,結(jié)果通過紅黃綠三種顏色標(biāo)明了不同的執(zhí)行結(jié)果督怜,紅色表示有task執(zhí)行失敗,黃色表示改變了遠(yuǎn)程主機(jī)狀態(tài)潮模。
可以查看相關(guān)文章
shell - Execute commands in nodes
All modules
Ansible playbook簡介與配置