Create Escrever e testar a primeira pipeline authored by Lucas Estevao de Andrade's avatar Lucas Estevao de Andrade
Após toda a configuração ter sido feita, basta testar o fluxo de integração contínua.
Para isso, o desenvolvedor precisará criar um arquivo de nome `.gitlab-ci.yml` na raiz do projeto.
Este arquivo conterá toda a especificação das pipelines de CI/CD do projeto, e deverá ser escrito **conforme o especificado no guia introdutório ao gitlab-ci**!
A seguir apresentamos um arquivo `.gitlab-ci.yml` de exemplo para realizar o primeiro teste:
```yml
stages:
- build
- test
- deploy
build application:
stage: build
script:
- echo "BUILD APPLICATION!"
test application:
stage: test
script:
- echo "TEST APPLICATION!"
deploy application:
stage: deploy
script:
- echo "DEPLOY APPLICATION!"
```
**Nota importante:** Se o usuário optou por utilizar o executor **docker**, ele precisará informar também qual a imagem a ser usada e, como dito anteriormente, isso é feito usando o atributo `image`.
Segue um exemplo usando a [imagem base do CodeMaster](https://hub.docker.com/r/gqsufsc/codemaster) que foi mencionada anteriormente:
```yml
image: gqsufsc/codemaster:latest
stages:
- build
- test
- deploy
build application:
stage: build
script:
- echo "BUILD APPLICATION!"
test application:
stage: test
script:
- echo "TEST APPLICATION!"
deploy application:
stage: deploy
script:
- echo "DEPLOY APPLICATION!"
```
Se o desenvolvedor fez todos os passos corretamente, a pipeline será executada assim que o arquivo `.gitlab-ci.yml` for integrado ao código de qualquer maneira! (seja via push direto ou Merge Request)
O desenvolvedor poderá acompanhar e verificar o resultado desta pipeline no menu **CI/CD > Pipelines**.
Este menu possuirá toda as execuções de pipelines do projeto, e indicará se foram executadas com sucesso e, se não foram, em que passo ocorreu o problema.<br>
![image-5](uploads/d66a358c0bfadf8f3672fe9cebf685cf/image-5.png)
Ao clicar em uma execução, é possível visualizar com detalhes a pipeline:<br>
![image-6](uploads/aff19cd914df821e688e90f6c4df9f22/image-6.png)
E, ao clicar em um job específico, é mostrado todos os logs de execução daquele job.
É nesta interface, também, que são executados os **jobs manuais** mencionados anteriormente:<br>
![image-7](uploads/a439c0a1e53c1405ff0d805c81a09e13/image-7.png)
A partir desta configuração básica, o desenvolvedor estará livre para implementar as pipelines conforme as necessidades do projeto!
:track_previous: **Anterior:** [Criar um Dockerfile para o projeto](criar-um-dockerfile-para-o-projeto)
\ No newline at end of file