YAML intermédiaire

CI/CD pour le Machine Learning

Ravi Bhadauria

Machine Learning Engineer

Chaînes multilignes : format scalaire de bloc

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

Un graphique hiérarchique de chaînes de blocs 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 sauts de ligne et l'indentation
  • Utile pour écrire des commandes shell
commands: |
  echo "Running python script..."
  python3 script.py

Un graphique hiérarchique de chaînes de blocs 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 sauts de ligne
  • Utile pour des messages réenveloppés comme des paragraphes
message: >
  Successfully executed the code!
  All processes completed 
  without any errors.
  The results have been saved 
  in the designated
  output directory.

Un graphique hiérarchique de chaînes de blocs 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 d'élagage (chomping)

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

Un graphique hiérarchique de chaînes de blocs YAML, avec le nœud feuille « Clip Chomping indicator » en surbrillance.

CI/CD pour le Machine Learning

Indicateurs d'élagage - strip

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

Un graphique hiérarchique de chaînes de blocs YAML, avec le nœud feuille « Strip Chomping indicator » en surbrillance.

CI/CD pour le Machine Learning

Exemple : élagage strip

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

Sortie du texte écrit en style littéral multilignes avec élagage strip. Celui-ci supprime tous les sauts de ligne finaux.

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

Indicateurs d'élagage - keep

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

Un graphique hiérarchique de chaînes de blocs YAML, avec le nœud feuille « Keep Chomping indicator » en surbrillance.

CI/CD pour le Machine Learning

Exemple : élagage keep

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

Sortie du texte écrit en style littéral multilignes avec élagage keep. Celui-ci ne retire 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 remplacer des valeurs dynamiquement
  • Usage :
    • Variables d'environnement
    • Références à d'autres parties du YAML
  • Généralement représentées comme ${{ ... }}
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-documents

  • Plusieurs documents YAML distincts dans un seul fichier
  • Chaque document contient un contenu YAML valide
  • Organisation facile 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ésumé

Nom Symbole YAML
Indicateur de style littéral |
Indicateur de style replié >
Indicateur d'élagage strip
Indicateur d'élagage keep +
Expressions ${{ ... }}
YAML multi-documents –––
CI/CD pour le Machine Learning

Passons à la pratique !

CI/CD pour le Machine Learning

Preparing Video For Download...