O que é YAML?

O YAML (Yet Another Markup Language) é um formato de serialização de dados projetado para ser fácil de ler e gravar. É comumente usado no gerenciamento de configurações para arquivos de configuração, mas também pode ser usado para armazenar dados em um formato estruturado, como uma lista ou um dicionário.

O YAML é baseado na ideia de representar dados em uma estrutura semelhante a uma árvore, com cada elemento da árvore representado como um nó. Os nós podem conter outros nós ou podem conter dados na forma de valores escalares (como strings ou números).

O YAML é frequentemente usado porque é fácil de ler e gravar e porque é menos detalhado que outros formatos de serialização de dados, como o XML ou o JSON. Também é amplamente suportado, com bibliotecas disponíveis em muitas linguagens de programação para processamento e geração de código YAML.

Como o YAML é usado em CI/CD?

Em CI/CD, o YAML é usado como um formato de arquivo de configuração que define os processos de build, teste e implantação de um aplicativo ou serviço. Ele permite que os desenvolvedores especifiquem as etapas necessárias para criar e implantar seu aplicativo, bem como as dependências, variáveis de ambiente e outros parâmetros necessários para executar o pipeline.

Algumas das maneiras como o YAML é usado em CI/CD incluem:

  1. Definição da estrutura do pipeline: o YAML é usado para definir a estrutura do pipeline, incluindo estágios, tarefas e etapas. Isto permite que os desenvolvedores criem um pipeline que executa as etapas e os testes apropriados para garantir que o aplicativo seja criado, testado e implantado corretamente.
  2. Especificação de instruções de build e implantação: o YAML é usado para especificar as instruções de build e implantação para cada estágio e tarefa no pipeline. Isto inclui comandos para compilar código, executar testes e implantar o aplicativo em um ambiente específico.
  3. Configuração de variáveis de ambiente e dependências: YAML é usado para configurar variáveis de ambiente e dependências exigidas pelo pipeline. Isto inclui informações como detalhes de conexão de banco de dados, chaves de API e bibliotecas externas.
  4. Ativação de revisões e aprovações de código: o YAML pode ser usado para definir workflows de revisão e aprovação de código, permitindo que os desenvolvedores garantam que as alterações do código sejam revisadas e aprovadas antes de serem mescladas ao branch principal.

O Kotlin DSL é uma alternativa ao YAML que permite que as equipes configurem seus projetos como código de uma maneira mais avançada e que permite operar seu projeto de CI/CD em escala.