CI/CD com Gitlab

CI/CD com Gitlab

O que é o Gitlab?

O Gitlab é uma ferramenta que agrega diversas funcionalidades, mas, primordialmente, é um gerenciador de repositório baseado em Git, assim como o Github. Hoje em dia, além da funcionalidade citada, ele também conecta diversas ferramentas do mundo DevOps, assim como conceitos de CI/CD e até mesmo Kubernetes.

Como usar o CI/CD do Gitlab?

Preferencialmente, devemos ter um arquivo no nosso repositório com o nome “.gitlab-ci.yml”. Esse é o nome padrão do arquivo que será utilizado nas pipelines do Gitlab, mas você pode configurar para ter outro nome.

  • Para que possamos denominar o arquivo de pipeline com outro nome, basta acessar as configurações do seu repositório

  • Selecione a opção CI/CD das configurações
  • Clique em expandir a opção Pipelines Gerais

 

  • Configure o caminho ou nome do seu arquivo yml da pipeline

    Após ter criado seu arquivo com extensão .yml, iremos configurar uma simples pipeline só para entender o processo que o Gitlab utiliza. 😀

Como criar o arquivo para a pipeline

Você pode utilizar seu editor de preferência, mas o Gitlab fornece uma IDE de desenvolvimento web ^^, basta acessar o arquivo que deseja editar e clicar em IDE Web

Agora podemos finalmente criar o código, conforme o exemplo abaixo:

build-job:
    stage: build
    script:
        - echo "Ola, $GITLAB_USER_LOGIN!"

test-job:
    stage: test
    script:
        - echo "Esse é um teste"


deploy-prod:
    stage: deploy
    script:
        - echo "Este deploy esta sendo feito na branch $CI_COMMIT_BRANCH"

Basicamente, este código indica os estágios de desenvolvimento que iremos utilizar. No Gitlab, podemos ter 4 nomes para os estágios, sendo eles:

  1. build
  2. test
  3. deploy
  4. .post

Em cada um dos 3 estágios principais, utilizamos um script, que nada mais é do que um shell rodando por trás. Claro que utilizamos exemplos simples para mostrar a funcionalidade.
Além disto, podemos ver variáveis que não foram declaradas neste arquivo, que são variáveis padrão do Gitlab encontradas na documentação: variaveis sendo as mostradas

  1. $GITLAB_USER_LOGIN = Nome do usuário que esta rodando o job
  2. $CI_COMMIT_BRANCH = Nome da branch que o job esta rodando

Com o código acima, ao clicarmos em Commit, o Gitlab irá automaticamente iniciar a tentativa de rodar este job.

 

Insira a mensagem de Commit e o deploy será iniciado automaticamente

 

Agora, ao retornar ao menu do projeto e clicar em CI/CD pipelines, você será guiado até o histórico das pipelines, onde a pipeline inicial terá seu status de sucesso ou falha

 

Ao acessar os jobs, é possível ver quais passos falharam ou passaram

 

 

Ao clicar em algum dos passos, podemos ver os logs da execução

E com isto finalizamos a utilização da pipeline no Gitlab. 🙂

Líder em Treinamento e serviços de Consultoria, Suporte e Implantação para o mundo open source. Conheça nossas soluções:

CURSOSCONSULTORIA

Anterior Integrando Telegram ao Rocket.Chat
Próxima Rocket.Chat App: Criando seu primeiro aplicativo

About author

Gabriel Nascimento
Gabriel Nascimento 3 posts

Gabriel Nascimento, Formado como Tecnologo em Análise e Desenvolvimento de Sistemas pela UNASP e Técnico em Redes de computadores pela ETEC de Embu , atua como Analista de infraestrutura Linux com ênfase em automação de tarefas bem com as tecnologias Jenkins, Shell Script, Puppet, Chef e Ansible

View all posts by this author →

Você pode gostar também

Cloud

Terraform #parte6 – Utilizando módulos com outros módulos

Em meio ao caos que o Corona Vírus tem causado em todo o globo, chegamos ao último post da nossa série de postagens sobre Terraform. Caso tenha perdido os 5

Infraestrutura TI

Kong API – Instalando o API Gateway e seu Dashboard

Estive envolvido num projeto de migração, algumas aplicações internas para o modelo de micro serviço. No caso, cada parte do código se tornaria um projeto independente, dessa forma, agilizando os

DevOps

4Linux já oferece cursos para a nova certificação Devops do LPI

A 4Linux tem a tradição de inovar e estar sempre oferecendo cursos modernos que preparam os profissionais para ocuparem boas vagas de emprego conforme demanda do mercado de trabalho. O