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

gitlab runner · Changes

Page history
feat: ci-cd components authored May 16, 2021 by Filipe Oliveira's avatar Filipe Oliveira
Hide whitespace changes
Inline Side-by-side
gitlab-runner.md 0 → 100644
View page @ 15fc6a67
# 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](https://tools.ages.pucrs.br/olive/olive-wiki/wikis/aws)).
## Instalação
Consulte a [documentação](https://docs.gitlab.com/runner/install/) oficial.
## Registrando o Runner
### O Executor
A maneira mais limpa para execução de [Jobs](https://docs.gitlab.com/ee/ci/jobs/) neste Host, é através de [containers Docker](https://tools.ages.pucrs.br/olive/olive-wiki/wikis/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](https://docs.gitlab.com/runner/executors/docker.html).
### Docker in Docker
Visto que de dentro de um container docker estaremos executando comandos para atualização dos [serviços presentes no host](https://tools.ages.pucrs.br/olive/olive-wiki/wikis/docker#docker-swarm), precisaremos dar acesso ao serviço docker do host para o container.
Isso é feito através de *[socket binding](https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#use-docker-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](https://docs.gitlab.com/ee/ci/runners/README.html#group-runners)**.
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](https://docs.gitlab.com/runner/register/) para informações detalhadas.
Clone repository
  • arquitetura
  • aws
  • banco_dados
  • codigo
  • configuracao
  • design
  • docker
  • escopo
  • gestao conhecimento
  • gitlab runner
  • Home
  • instrucoes
  • processo
  • qualidade
  • utilizacao