2015-05-01 102 views
4

我有一個Flask應用程序,我想部署並開始使用Ansible。我已經準備好了我的Playbook安裝所需的所有依賴關係,但是我很難讓Ansible啓動我的應用程序。我使用commandshell這兩者都啓動Flask應用程序,但它們阻止Ansible退出,並且Flask不會在其自己的終端窗口中彈出,這使得難以在視覺上調試並查看Flask正在做什麼。Ansible - 在新的終端窗口啓動Python Flask腳本

#Current playbook; both command and shell act the same way 
    tasks: 
    - command: python3 /home/user/Desktop/Flask/app.py 
    - shell: python3 /home/user/Desktop/Flask/app.py 

問:我怎麼能有Ansible啓動在它自己的終端窗口的燒瓶腳本?


回答

3

如果您安裝了此係統上gnu screen那麼你可以用它來後臺任務。我用這個異步運行shell腳本作爲deploy用戶,這樣我以後可以登錄,看看它是如何做的:

- name: Invoke reset script 
    command: /usr/bin/screen -d -m sudo -u deploy /usr/local/bin/do-reset.sh -i -y reset 
    async: True 
    poll: 0 

-d -m參數告訴屏幕分離模式啓動,並asyncpoll設置告訴Ansible將背景命令忘掉。