Essa é uma revisão anterior do documento!
Configurando o Deploy em Produção
1. Acessando o Editor de Pipeline
O GitLab centraliza a configuração da pipeline no arquivo .gitlab-ci.yml. Para editá-lo:
- No menu lateral do seu projeto, acesse Compilação > Editor de pipeline.
- Caso o arquivo ainda não exista, o GitLab oferecerá um modelo padrão. Apague o conteúdo inicial para começarmos do zero.
2. Declarando os Estágios
No topo do arquivo, declare o estágio de deploy que utilizaremos nesta etapa:
stages: - deploy
Mais estágios serão adicionados nas próximas partes do tutorial.
3. Importando o Componente de Deploy
Para garantir simplicidade e padronização, não escrevemos scripts complexos em cada projeto. Em vez disso, importamos componentes pré-configurados da nossa biblioteca central, o TCE.Templates.
- No topo do Editor de Pipeline, clique em Catálogo de CI/CD > TCE.Templates. (Aqui é possível ver a documentação dos componentes)
- Localize o componente
deploy-docker. - Adicione o bloco de inclusão no seu arquivo:
stages: - deploy include: # Deploy em Produção - component: $CI_SERVER_FQDN/GER-TI/tce.kubernetes/tce.templates/deploy-docker@2.0.0 # Sempre especifique a versão inputs: environment: "production" compose-file: "docker-compose.yml" tag: dockers-prod-runner
O environment: “production” instrui o componente a realizar o deploy no ambiente de produção quando houver commit na branch main ou master.
O tag: dockers-prod-runner indica qual servidor irá receber o deploy. Para ver quais tags estão disponíveis veja https://gitsource.tce.go.gov.br/groups/GER-TI/-/runners. Para saber qual tag utilizar, veja gitlab_runners. Em nosso caso, como estamos fazendo deploy em produção, iremos colocar no servidor de produção vmdocker-01.tce.go.gov.br, e seu runner tem a tag dockers-prod-runner.
Os componentes funcionam como funções: você passa os parâmetros necessários (inputs) e a automação sabe como se comportar no seu projeto.
Boas práticas: Especifique a versão
No final do component perceba que há um @2.0.0 que especifica qual versão da biblioteca utilizar.
É extremamente recomendado especificar qual versão da biblioteca você está utilizando, pois sua pipeline não terá chances de quebrar caso haja atualizações da biblioteca.
Na escrita deste artigo, a versão mais atual é a versão `2.0.0`. É recomendado sempre utilizar a versão mais recente.
Dica: Atualizando a pipeline
Futuramente, caso haja alguma mudança na padronização, uma nova versão da TCE.Templates será lançada. Para atualizar a sua pipeline, bastará apenas atualizar para a nova versão. Extremamente Elegante.
4. Habilitando o Runner no Projeto
Os runners são os servidores que executam os jobs da pipeline. Por padrão, runners de grupo não ficam habilitados automaticamente em projetos novos — é necessário ativá-los manualmente.
- No menu lateral do projeto, acesse Configurações > CI/CD.
- Expanda a seção Executores (Runners).
- Na lista de Executores de grupo disponíveis, localize o runner com a tag
dockers-prod-runner. - Clique no botão Habilitar ao lado dele.
Se pular este passo, a pipeline ficará travada com status “pending” e uma mensagem indicando que não há runners disponíveis para o job.
5. Validar e Commitar
- Utilize a aba Visualizar no editor para garantir que a sintaxe está correta.
- Se tudo estiver certo, clique em Commit changes no final da página.
- Faça o commit direto na branch
main.
Sua pipeline vai rodar imediatamente. Acesse Compilação > Pipelines para acompanhar a execução.
O que esperar
Após o commit na main, você deve ver:
- Um pipeline criado automaticamente. - O estágio
deploysendo executado. - O job finalizando com sucesso (ícone verde ✓).
Se o job falhar, acesse o log do job clicando nele para investigar o erro.
Próximos Passos
FAQ
- A porta no servidor já estava ocupada, e agora?
- Não é possível subir dois containers na mesma porta no mesmo servidor. Você pode olhar pelo Portainer quais portas estão disponíveis no seu servidor.