YAML とは?

YAML(Yet Another Markup Language)は、読み取りと書き込みを容易に行えるように設計されたデータシリアル化形式です。 構成ファイルの構成管理でよく使用されていますが、リストや辞書などの構造化された形式でデータを格納する目的でも使用できます。

YAML は各要素をノードとして表したツリー状の構造でデータを表現することを基本的な概念としています。 ノードには別のノードを含めたり、スカラー値(文字列や数値など)形式のデータを含めたりすることができます。

YAML は読み取りと書き込みが容易であり、XML や JSON などの他のデータシリアル化形式よりも比較的冗長ではないため、頻繁に使用されています。 また、多くのプログラミング言語で YAML の解析と生成に対応したライブラリが提供されているため、幅広くサポートされています。

CI/CD での YAML の使用方法

CI/CD では、YAML はアプリケーションまたはサービスのビルド、テスト、およびデプロイのプロセスを定義する構成ファイル形式として使用されます。 開発者はアプリケーションのビルドとデプロイに必要なステップだけでなく、パイプラインの実行に必要な依存関係、環境変数、およびその他のパラメーターを指定できます。

CI/CD では以下のような例で YAML が使用されます。

  1. パイプライン構造の定義: YAML はステージ、ジョブ、ステップなど、パイプラインの構造を定義するために使用されます。 これにより、開発者はアプリケーションが確実に正しくビルド、テスト、およびデプロイされるための適切なステップとテストを実行するパイプラインを作成することができます。
  2. ビルドおよびデプロイ手順の指定: YAML はパイプラインの各ステージとジョブのビルドとデプロイの手順を指定するために使用されます。 これには、コードのコンパイル、テストの実行、および特定環境へのアプリケーションのデプロイに使用するためのコマンドが含まれます。
  3. 環境変数と依存関係の構成: YAML はパイプラインが必要とする環境変数と依存関係の構成に使用されます。 これには、データベース接続情報、API キー、外部ライブラリなどの情報が含まれます。
  4. コードレビューと承認の有効化: YAML はコードレビューと承認ワークフローの定義に使用できるため、開発者はコードの変更がメインブランチにマージされる前にレビューと承認を確実に完了させることができます。

Kotlin DSL は YAML に代わるもので、より高度な方法でプロジェクトをコードとして構成し、CI/CD プロジェクトの大規模な運営を可能にします。