`become_user` requires `become` to work as expectedANS-E5001Shells that use pipes should set the `pipefail` optionANS-E3006Use `command` instead of `shell`ANS-E3005Commands should not change things if nothing needs to be doneANS-E3001Should not use `command` instead of arguments to modulesANS-E3002Environment variables don't work as part of commandANS-E3004Mercurial checkouts should have explicit revisionANS-E4002Package installs should not use `latest`ANS-E4003Use `module` instead of `command`ANS-E3003Relative path is not needed in roleANS-E4004Git checkouts must contain explicit versionANS-E4001Found key duplicationANS-E9002Failed to parse the YAML fileANS-E9001Referenced files must existANS-E5005Replace `local_action` with `delegate_to: localhost`ANS-E5004All tasks should be named uniquelyANS-E5002Tasks that run when changed should likely be handlersANS-E5003
Git checkouts must contain explicit versionANS-E4001
All version control checkouts must point to an explicit commit or tag, not just latest.
Relying on latest may lead to breakages in the application if the latest version is unstable or not meant for use with the current system.
Bad practice
- git:
repo: 'https://foosball.example.org/path/to/repo.git'
dest: /srv/checkout
version: latest
Recommended
- git:
repo: 'https://foosball.example.org/path/to/repo.git'
dest: /srv/checkout
version: release-0.22