Hi team,

I'm having a question about the CI/CD strategy for ansible managed 
resources. From my understanding, there are basically two ways:

1. Having a periodic deployment triggered per playbook with customized 
running frequency.
2. Trigger ansible playbook based on the code change merged.

The first strategy is the most straight forward one, but there could be 
many unnecessary runs if there is actually no code change involved. The 
second strategy is more efficient and event-driven, but I'm having 
difficulty completing the picture due to the following concerns:

1. If we have a nested roles defined and a relatively complex playbook 
dependencies, it is hard to get the impact of the code change, especially 
when some of the tasks running conditions depending on some runtime 
collected attributes.

2. Sometimes we just reformat the playbook, which does not have any 
functional change. However, if we could detect the change somehow, the 
affected hosts by a code change could be many, and it is not fair to waste 
many resources to trigger all those playbooks just for some no-op 
operations.

3. Similar to the item #2, but the the conern is on the blasting radius 
part. If there is a real change needs to be performed, the impacted hosts 
could be huge with many different playbooks, how to coordinate on those 
deployments could also be challenging.

Looking forward to any insights or discussion on this.

Thanks.
Jianan.

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/394a9d78-25a7-45a7-be33-4bf476a36fcen%40googlegroups.com.

Reply via email to