I have a Flask app that I'd like to deploy and start using Ansible. I've already got my playbook setup to install all the dependencies needed but I'm having trouble getting Ansible to start my application. I've used command
and shell
both of which do startup the Flask app, but they block Ansible from exiting and Flask doesn't popup in it's own terminal window, which makes it difficult to visually debug and see what Flask is doing.
#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
Q: How can I have Ansible startup a Flask script in it's own terminal window?
If you have gnu screen installed on this system then you can use it to background tasks. I use this to run a shell script asynchronously as the
deploy
user so that I can log in later and see how it's doing:The
-d -m
parameters tell screen to start up in detached mode, and theasync
andpoll
settings tell Ansible to background the command and forget about it.