YAML intermédiaire

CI/CD pour le Machine Learning

Ravi Bhadauria

Machine Learning Engineer

Chaînes multilignes : format scalaire bloc

  • Représenter des chaînes multilignes ou des blocs de texte
    • Extraits de code (commandes shell)
    • Paragraphes (journaux)
    • Fichiers de configuration

Un schéma hiérarchique d'une chaîne de bloc YAML, avec le nœud racine « Block String » en surbrillance.

CI/CD pour le Machine Learning

Indicateurs de style - littéral

  • Style littéral (|) : conserve les retours à la ligne et l'indentation
  • Utile pour écrire des commandes shell
commands: |
  echo "Running python script..."
  python3 script.py

Un schéma hiérarchique d'une chaîne de bloc YAML, avec le nœud feuille « Literal Style » en surbrillance.

CI/CD pour le Machine Learning

Exemple : style littéral

Exemple YAML d'un texte en style littéral multilignes. Le texte est précédé du symbole « | ».

Sortie du texte écrit en style littéral multilignes YAML.

1 https://yaml-multiline.info/
CI/CD pour le Machine Learning

Indicateurs de style - replié

  • Style replié (>) : supprime les retours à la ligne
  • Utile pour des messages réorganisés en paragraphes
message: >
  Successfully executed the code!
  All processes completed 
  without any errors.
  The results have been saved 
  in the designated
  output directory.

Un schéma hiérarchique d'une chaîne de bloc YAML, avec le nœud feuille « Fold Style » en surbrillance.

CI/CD pour le Machine Learning

Exemple : style replié

Exemple YAML d'un texte en style replié multilignes. Le texte est précédé du symbole « > ».

Sortie du texte écrit en style replié multilignes YAML.

1 https://yaml-multiline.info/
CI/CD pour le Machine Learning

Indicateurs de rognage (chomping)

  • Contrôler le comportement des sauts de ligne en fin de chaîne
  • Ajoutés après les indicateurs de style
  • clip : mode par défaut, un seul saut de ligne final
    • Aucun symbole supplémentaire requis

Un schéma hiérarchique d'une chaîne de bloc YAML, avec le nœud feuille « Clip Chomping indicator » en surbrillance.

CI/CD pour le Machine Learning

Indicateurs de rognage - strip

  • strip (-) : supprime tous les sauts de ligne finaux

Un schéma hiérarchique d'une chaîne de bloc YAML, avec le nœud feuille « Strip Chomping indicator » en surbrillance.

CI/CD pour le Machine Learning

Exemple : rognage strip

Exemple YAML d'un texte en style littéral multilignes avec rognage « strip ». Le texte est précédé du symbole « |- ».

Sortie du texte écrit en style littéral multilignes avec rognage « strip » dans YAML. Celui-ci supprime tous les sauts de ligne finaux.

1 https://yaml-multiline.info/
CI/CD pour le Machine Learning

Indicateurs de rognage - keep

  • keep (+) : conserve tous les sauts de ligne finaux

Un schéma hiérarchique d'une chaîne de bloc YAML, avec le nœud feuille « Keep Chomping indicator » en surbrillance.

CI/CD pour le Machine Learning

Exemple : rognage keep

Exemple YAML d'un texte en style littéral multilignes avec rognage « keep ». Le texte est précédé du symbole « |+ ».

Sortie du texte écrit en style littéral multilignes avec rognage « keep » dans YAML. Celui-ci ne supprime aucun saut de ligne final.

1 https://yaml-multiline.info/
CI/CD pour le Machine Learning

Injection dynamique de valeurs

  • Les expressions permettent aux analyseurs de substituer des valeurs dynamiquement
  • Usages :
    • Variables d'environnement
    • Références à d'autres parties du YAML
  • Généralement représentées par ${{ ... }}
database:
  host: ${{ config.database.host }}
  port: ${{ config.database.port }}
  username: ${{ config.database.username }}
  password: ${{ config.database.password }}
CI/CD pour le Machine Learning

YAML multi-document

  • Plusieurs documents YAML distincts dans un seul fichier
  • Chaque document contient du YAML valide
  • Facile à organiser par documents liés
  • Séparer les documents par trois tirets –––
___
- name: John
  age: 30
___
- name: Jane
  age: 28
___
- name: Bob
  age: 35
  occupation: Developer
CI/CD pour le Machine Learning

Récapitulatif

Nom Symbole YAML
Indicateur style littéral |
Indicateur style replié >
Indicateur rognage strip −
Indicateur rognage keep +
Expressions ${{ ... }}
YAML multi-document –––
CI/CD pour le Machine Learning

Passons à la pratique !

CI/CD pour le Machine Learning

Preparing Video For Download...