Closed guilacerda closed 5 years ago
A utilização do novo deploy funciona a partir de uma nova funcionalidade do Gitlab, chamada de Gitlab Runner, que ao invés de utilizar um dos runners padrões do Gitlab, utiliza um proprietário, no caso, uma droplet do DigitalOcean. O roteiro para deploy contínuo em uma droplet no DigitalOcean pode ser realizado desta forma:
Criar uma droplet nova no DigitalOcean (DO)
Acessar a droplet por ssh (ou terminal interativo dentro do DO)
Instalar o Gitlab Runner, cada sistema possui um binário próprio
sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64
sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-386
sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-arm
Permitir execução do Gitlab Runner
sudo chmod +x /usr/local/bin/gitlab-runner
Instalar o Docker (caso você já não tenha instalado)
curl -sSL https://get.docker.com/ | sh
Criar um usuário do Gitlab CI
sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash
Instalar e rodar o serviço
sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
sudo gitlab-runner start
Agora você deve registrar o Gitlab Runner com seu repositório
sudo gitlab-runner register
Acesse a droplet e adicione o usuário gitlab-runner ao grupo 'docker'
sudo usermod -aG docker gitlab-runner
Permita que o usuário tenha acesso a todo o sistema
sudo visudo
gitlab-runner ALL=(ALL) NOPASSWD= ALL
Reinicie o serviço do gitlab
sudo gitlab-runner restart
Em seu arquivo de configuração 'gitlab-ci.yml' crie os passos necessários para o deploy, neste determinado stage, adicione:
tags:
- <nome_da_tag_criada>
Com isso, sempre o runner escolhido para rodar seu pipeline de deploy será o runner criado em sua droplet no DigitalOcean
Descrição Anteriormente estávamos fazendo o deploy do Lino no Rancher que estava hospedado no servidor do LAPPIS, assim, todos os passos para o deploy contínuo estavam baseados para acessar o rancher e atualizar as imagens do docker. Com a instabilidade do servidor, migramos toda a stack para a DigitalOcean (DO).
Tarefas
Critérios de Aceitação