Podemos fazer um ajuste que é o seguinte:
- name: iniciando projeto
shell: |
. /home/ubuntu/tcc/venv/bin/activate
django-admin startproject setup /home/ubuntu/tcc
args:
creates: /home/ubuntu/tcc/manage.py
O parâmetro creates funciona dizendo algo do tipo pra task: “Esse comando do shell cria esse arquivo manage.py, então, se o arquivo já existe, não precisa executar o shell, nem a task.”
Assim evitamos rodar o startproject e dar erro ou sobrescrever arquivos. =)
Fonte: Documentação Shell Ansible