# Avançando em CI/CD no GitLab
[](https://hackmd.io/xyzTSSe9RyqB1RDnM28AbQ)
###### tags: `gitlab` `iac` `devops` `programming`
## Como o GitLab CI/CD funciona
Para usar GitLab CI/CD, tudo o que você precisa é uma base de código de aplicativo hospedada em um repositório Git e que seus scripts de construção, teste e implantação sejam especificados em um arquivo chamado .gitlab-ci.yml, localizado no caminho raiz de seu repositório.

## GitLab CI/CD: principais ingredientes
Para usar o GitLab CI/CD, você ou o administrador do GitLab deve primeiro definir um pipeline em um arquivo YAML chamado .gitlab-ci.yml e, em seguida, instalar e configurar um Gitlab Runner.
- .gitlab-ci.yml
O arquivo YAML é o arquivo de definição de pipeline. Ele especificou os estágios, trabalhos e ações que você deseja executar. Pense no arquivo YAML como o cérebro e o corredor como o corpo.
- GitLab Runner
Um GitLab Runner, um arquivo escrito em Go, executará as tarefas especificadas no arquivo YAML usando uma API para se comunicar com o GitLab.
O administrador do GitLab pode configurar runners compartilhados para execução em vários projetos, e você pode configurar o seu próprio por projeto.
## Exemplo de arquivo .gitlab-ci.yml
Aqui está um exemplo muito básico de um arquivo .gitlab-ci.yml, que é escrito na sintaxe YAML e armazenado na raiz de um projeto e versão controlada junto com o resto do seu código.
Na imagem à esquerda, você pode ver onde as etapas estão sendo definidas e como cada etapa é implementada.

## Anatomia de um pipeline de CI/CD
Este é um exemplo de gráfico de pipeline que mostra a aparência do build CI/CD. Ele permite que você veja como um conjunto de um ou mais jobs são executados nos estágios que você define no arquivo YAML para o pipeline.
