1
resposta

[Sugestão] Para evitar precisar entrar no server e deletar o manage.py e o setup/

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

1 resposta

Oi, João! Como vai?

Agradeço por compartilhar.

Gostei da sua sugestão, principalmente ao destacar o uso do parâmetro creates no módulo shell, que deixa a task mais segura e alinhada com boas práticas de idempotência no Ansible. Do jeito que você explicou, fica claro como evitar erros ao rodar o startproject mais de uma vez.

Continue contribuindo com esse tipo de melhoria, isso agrega muito ao aprendizado coletivo.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!