Ansible-lint: Difference between revisions

From DWIKI
Line 9: Line 9:
use
use
  when: not (foo == 1 and bar == 0)  
  when: not (foo == 1 and bar == 0)  
==Use shell only when shell functionality is required==


==Commands should not change things if nothing needs doing==
==Commands should not change things if nothing needs doing==
Line 25: Line 28:
  args:
  args:
   executable: /bin/bash
   executable: /bin/bash
==APT==
===Package installs should not use latest===

Revision as of 08:02, 25 October 2024

FAQ

Don't compare to empty string

  • Use `when: var | length > 0` instead of `when: var != ""`.
  • Use `when: var | length == 0` instead of `when: var == ""`.

Don't compare to literal True/False

Instead of

when: (foo == 1 and bar == 0) == false

use

when: not (foo == 1 and bar == 0) 


Use shell only when shell functionality is required

Commands should not change things if nothing needs doing

Sometimes fixed by adding

changed_when: false


Lines should be no longer than 160 chars

ignore for now?


Shells that use pipes should set the pipefail option

shell: |
  set -o pipefail
  your command
args:
  executable: /bin/bash

APT

Package installs should not use latest