2017-10-17 27 views
-1

我正在學習從ansible-beginner到micheal堆的pro。看起來windows不支持ansible。該書建議改爲從虛擬機運行。我使用vagrant啓動了一個VMbox,它上面有ubuntu/trusty64。我成功地運行了我的劇本。然而,我在創造星系角色時遇到了一個問題。如何在windows中創建合適的星系角色?

我找不到在Windows上創建/初始化角色的方法。我依稀從這個問題How to automatically install Ansible Galaxy roles?借來的想法,並添加下面的命令到我的劇本在Windows local_action: command ansible-galaxy init sush.util --init-path roles

--- 
- hosts: all 
    gather_facts: false 
    become: true 
    tasks: 
    - name: make sure we can connect 
     ping: 
    #ansible-galaxy 
    - name: Init sush.util 
     local_action: command ansible-galaxy init sush.util --init-path roles 
     ignore_errors: true 

我還添加ignore_errors=true如果角色已創建忽略錯誤創建角色。 這是正確的方法,還是有另一種/更好在Windows中做到這一點?

+0

1.如果您正在運行Ubuntu操作系統,爲什麼您提到Windows六次? 2.你的目標是什麼?在你的劇本中,你首先分配一個角色,然後用相同的名字初始化一個空白的角色。這沒有意義。即使用'pre_tasks'來替換'tasks',這將顛倒順序並不一定有意義。它仍然是一個空洞的角色。 – techraf

+0

是的,可能代碼沒有說明目標。我想要創建一個空的角色結構,然後我將任務添加到空角色內的main.yml文件中,然後計劃使用角色。 我有VMBox上的Ubuntu操作系統,而不是在我的電腦上。我打算在虛擬機上安裝wordpress,nginx,php等。我想在每個窗口的文件夾中創建角色,並在每次安裝組件時重新使用它們。 – sushrut619

+0

只要做到這一點。對於人們通常使用vi或他們最喜歡的編輯器,我沒有看到Ansible的用處。 – techraf

回答

0

如果您的目標是在Windows上本地創建角色,則實際上並不需要使用Ansible Galaxy來完成此任務。 Ansible角色只是一組文件夾。要創建一個sush.util角色,創建一個名爲sush.util文件夾,然後裏面創建下列文件夾:

  • 任務
  • 處理
  • 模板
  • 文件
  • 瓦爾

最後,在這些文件夾中的每個文件夾c創建一個名爲main.yml的文件,其頂部包含---

您現在可以運行一個Ansible角色。您將添加到tasks/main.yml的任何任務都將被執行。