Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • olive-wiki olive-wiki
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Olive
  • olive-wikiolive-wiki
  • Wiki
  • gitlab runner

Last edited by Filipe Oliveira May 16, 2021
Page history

gitlab runner

Gitlab Runner

Gitlab Runner é a aplicação que orquestra a execução de pipelines do Gitlab na infraestrutura provida pelo usuário.

No casso da AGES, cada projeto possui um servidor (máquina EC2) disponibilizado na AWS (Clique para mais informações).

Instalação

Consulte a documentação oficial.

Registrando o Runner

O Executor

A maneira mais limpa para execução de Jobs neste Host, é através de containers Docker. Dessa maneira garantimos separação lógica entre os jobs, bem como deleção de arquivos ou bibliotecas necessárias somente durante a execução de cada job.

Neste cenário, o executor necessário será do tipo docker: Executor Docker.

Docker in Docker

Visto que de dentro de um container docker estaremos executando comandos para atualização dos serviços presentes no host, precisaremos dar acesso ao serviço docker do host para o container.

Isso é feito através de socket binding, entretanto se ressalta que essa prática não é aconselhável em ambientes de produção.

Registration Token

Uma máquina cadastrada no gitlab pode operar dentro de um dos 3 escopos abaixo de acordo com a documentação:

  • Shared Runner - Para uso de qualquer projeto presente no servidor Gitlab da AGES.
  • Group Runner - Para uso de qualquer projeto presente em um grupo específico de projetos.
  • Project-Specific Runner - Para uso exclusivo de um projeto.

Dado que cada projeto do semestre AGES possuirá uma máquina na AWS e seus projetos git estarão organizados dentro de um grupo, utilizaremos Group Runner.

Dadas as informações acima poderemos executar a registro do runner em um comando único:

sudo gitlab-runner register -n \
  --url https://tools.ages.pucrs.br \
  --registration-token REGISTRATION_TOKEN \
  --executor docker \
  --description "Runner do Projeto <NOME-PROJETO>" \
  --docker-image "alpine:latest" \
  --docker-volumes /var/run/docker.sock:/var/run/docker.sock

Veja a documentação para informações detalhadas.

Clone repository
  • arquitetura
  • aws
  • banco_dados
  • codigo
  • configuracao
  • design
  • docker
  • escopo
  • gestao conhecimento
  • gitlab runner
  • Home
  • instrucoes
  • processo
  • qualidade
  • utilizacao