Por: @eduardoh Publicado em: 2022-08-25

Ambiente Gitlab Runner PABXFLEX

Objetivo

Este documento explica como está disposto o ambiente responsável por executar as pipelines do projeto PABXFLEX (legacy).

Topologia

Como provisionar novos Runners

Caso precisarmos aumentar nossa infraestrutura de Runners, devemos executar uma playbook no ambiente Bastion, o template se chama Instalação e configuração Gitlab Runner.

Temos a seguinte estrutura nessa playbook:

install-gitlab-runner/
├── install-gitlab-runner.yml
└── roles
    ├── check_vars
    │   └── tasks
    │       └── main.yml
    └── install-gitlab-runner
        ├── defaults
        │   └── main.yml
        ├── files
        │   └── daemon.json
        └── tasks
            ├── clean_env.yml
            ├── install.yml
            ├── main.yml
            └── register.yml

O fluxo:

  • Valida o sistema operacional, só executa se for RedHat, CentOS ou AlmaLinux (não executar em Debian/Ubuntu).
  • Se as VMs impactadas tiverem o serviço de Gitlab-Runner instalado, será removido.
  • Será removido também arquivos de configuração e usuário padrão gitlab-runner.
  • Acontecerá a instalação do Docker e Docker-Compose.
  • Ajustes de performance para o Docker executar pelo SystemD e desabilita a SWAP.
  • Instalação dos pacotes Gitlab-Runner, criação de usuário e permissões.
  • Inicialização do serviço e registro no GitLab Server.
  • Ajustes nas concorrências de Jobs simultâneos, de 1 para 3.

Na interface do AWX Bastion, iniciar processo de execução do template Instalação e configuração Gitlab Runner:

Ajustar o inventário (caso necessário altere na aba Inventories):

Aponte quais permissões serão utilizadas para autenticar nas novas VMs:

Agora temos um passo muito importante, aqui vamos definir qual será a URL do Gitlab Server, seguido do Token do PROJETO dentro do Gitlab que desejamos adicionar nossos Runners:

Para capturar essas informações, vá até o projeto dentro do Gitlab que você deseja adicionar seus novos Runners e abra a aba CI/CD:

Nessa tela, expanda a opção Runners e então será exibida a URL e o Token de acesso:

Agora podemos então completar nossas informações no AWX e então rodar o template:

Após finalizar, teremos o seguinte resultado:

Como vimos, não devemos ter ERROS na execução, caso hajam erros, devemos verificar os logs e corrigir o neessário.

Agora vamos voltar ao Gitlab e então veremos que os novos Runners foram adicionados com sucesso: