在Ansible 1.7中,我可以使用命令行中的--tags來僅運行該劇本任務的一個子集。Ansible:在劇本中,通過標記過濾角色而不通過命令行
但是我想烘焙到我的劇本中,只運行匹配標籤的任務來運行一組角色。也就是說,我不想通過命令行來傳遞它,因爲它每次都是一樣的。
起初我以爲是這個命令,但是這卻做了相反的事情:用這些標籤標記任務,而不是基於這些標籤過濾出來。
roles:
- { role: webserver, port: 5000, tags: [ 'web', 'foo' ] }
我可以想象實現這個使用條件,但標籤將是一個更加優雅的方式來實現這一點。
順便說一句,我想這樣做的原因是跨多個角色運行所有軟件包安裝任務,所以我可以創建一個緩存所有更新/升級/安裝的AMI。然後我可以使用它作爲我的基礎AMI。讓腳本正常工作,現在只需通過命令行指定 – 2014-09-04 23:36:27