Ansible - Améliorer la qualité d’écriture de vos playbooks avec VS Code
Il y a quelques mois l'extension Ansible pour Vs Code que j’utilisais jusqu’alors passait en deprecated. Pendant un temps j’ai fait sans et c’est par hasard que j’ai découvert qu’en fait Redhat la proposait à nouveau.
Fonctionnalités de l’extension Ansible pour Vs Code
Nous avons au menu :
- La coloration syntaxique : le rendu est fonction du thème que vous utilisez (je vous conseille One Dark Pro Darker)
- L'autocompletion sur les noms des modules et les options via le raccourci [CTRL] + [Space]. Attention, il faut que les collections, hors de celles fournies avec Ansible, soient installé pour cela fonctionne.
- La validation du code avec ansible-lint (il faut l’installer
pip install ansible --user
)
- La gestion des expressions Jinja. Si vous entrez “{{ elle sera complétée par son miroir espace compris.
- Accès à la documentation en glissant la souris au-dessus du nom du module.
- Accès au code source du module via [CTRL] + [Click] sur le nom du module
Installation de l’extension Ansible sur VS Code
Cette extension est disponible dans le marketplace Visual Code. Vous pouvez l’installer depuis cette adresse, mais aussi directement dans Vs Code en vous rendant dans le gestionnaire des extensions accessible par le raccourci : [CTRL] + [Maj] + [X]
Pour automatiser la détection des fichiers Ansible, vous pouvez ajouter dans
votre fichier settings.json
([CTRL] + [,] puis clic sur l’icône à droite) ce
contenu :
"files.associations": {
// Ansible
"**/defaults/**/*.yml": "jinja-yaml",
"**/group_vars/**/*": "jinja-yaml",
"**/host_vars/**/*": "jinja-yaml",
"**/vars/**/*.yml": "jinja-yaml",
"**/tasks/**/*.yml": "ansible",
"**/handlers/*.yml": "ansible",
"**/meta/*.yml": "ansible",
"**/roles/**/*.yml": "ansible",
"**/playbooks/**/*.yml": "ansible",
"**/ansible/**/hosts": "ini",
"**/ansible/**/inventory": "ini",
"ansible.cfg": "ini",
},
Ouvrez un playbook et tester vous serez surpris par la qualité de l’extension.