2
respostas

E a idempotência?

No curso de vagrant foi muito frisada a idempotência: depois de uma configuração ser aplicada, a reexecução do script só deve reaplicá-la se houver alguma alteração.

Da forma como o playbook foi construído ao longo do curso, a task que copia o wp-config-sample.php para wp-config.php é executada sempre (e, como consequência, a task que configura o wp-config.php também)

Entendo isso como uma má prática: depois de rodar o playbook com sucesso uma vez, se nada for mexido na máquina uma reexecução do playbook não deveria fazer nada!

Olhei a documentação do módulo copy mas não encontrei uma forma de fazer isso...

Como resolvo?

2 respostas

Isso não é uma má prática. Se nada for mechido não vejo motivo para ocorrer uma reexecucao do playbook.

Sim, mas se outra coisa for mexida, teríamos que reexecutar o playbook e daí seria executada desnecessariamente a task com o copy e, consequentemente, as tasks dependentes desta.

Vejo esse negócio de sempre reexecutar a task semelhante a um código fonte com warning de compilação: pode até nunca dar problema, mas é uma má prática que deve ser evitada.