Let us discuss some of the project options to avail from that can assist you
with your governance, firstly update revision on launch.
So each time a job runs using this project with this configured,
it will update the revision of the project before starting the job.
This option instructs Ansible to always update the Playbooks
repository before running any playbooks from that project.
This ensures it always executes the latest version of the playbook.
So any time you run a template from this project
before the playbooks are executed,
the Tower system will do a get pull from the repo to be sure it has
the most current version of all of the files.
This is useful if you're changing your files often and want to
ensure you have the most current version.
This is an important feature to enable, as if you don't have a check.
There's the possibility that someone notices that there's a problem in
the playbook and fixes it, then they run the playbook feeling sure they
are running from the latest version.
It may be if someone forgets to run the synchronization
task before running the playbook, effectively running the older version.
Therefore, when using this option,
we are removing the inconsistencies of Playbooks.
However,
in large environments the update revision on launch may add time
to the template run to complete this step.
However,
suppose you were confident that your repo is unchanged or that it's
very static. You can then safely uncheck this and manually update
the project SCM when needed using the get latest SCM revision option
in the project parameters.