Guia completo: Aprenda a usar o Gitlab e suas funcionalidades DevOps

Guia completo: Aprenda a usar o Gitlab e suas funcionalidades DevOps

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 4 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

Treinamentos

Entenda o que é API e como ela funciona no mundo digital

O que é  uma API?  APIs são mecanismos que permitem que dois software se comuniquem usando um conjunto de definições e protocolos.  Ao interagirmos com computadores, celulares ou outros aparelhos,

Segurança

Como Implementar a Análise de Qualidade de Código com DevOps e SonarQube

Dentro da ótica do DevOps e de como implementar agilidade com qualidade, temos os testes automatizados como um dos principais pilares para manter a essência do CI (Continuous Integration), porém

DevOps

Graylog – Gerenciando todos os seus Logs

Este post tem como objetivo apresentar um guia para instalação e configuração do Graylog em Debian 8 (Jessie), suportado pelos bancos de dados noSQL  MongoDB e ElasticSearch e com alta