wils@web ~ $ cat ~/ajuda/como-implementar-ci-cd-com-gitlab-ci-15-0-e-docker-para-aplicacoes-python.md

DevOps

Como implementar CI/CD com GitLab CI 15.0 e Docker para aplicações Python

atualizado em 03/08/2026

Implementar CI/CD com GitLab CI e Docker para aplicações Python é uma maneira eficiente de automatizar o processo de desenvolvimento e entrega. Este manual guiará você através dos passos necessários para configurar essa integração.

Pré-requisitos

  • Conta no GitLab
  • GitLab Runner instalado
  • Docker instalado no servidor
  • Aplicação Python pronta para ser containerizada

Passo 1: Criar o Dockerfile

O primeiro passo é criar um Dockerfile para sua aplicação Python. Este arquivo define como sua aplicação será empacotada em um contêiner.

FROM python:3.9-slim

WORKDIR /app

COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

COPY . .

CMD ["python", "app.py"]

Passo 2: Configurar o arquivo .gitlab-ci.yml

Em seguida, você precisa configurar o arquivo .gitlab-ci.yml na raiz do seu repositório. Este arquivo define as etapas do CI/CD.

stages:
  - build
  - test
  - deploy

build:
  stage: build
  script:
    - docker build -t myapp:latest .

test:
  stage: test
  script:
    - docker run myapp:latest python -m unittest discover

deploy:
  stage: deploy
  script:
    - echo "Deploying to production..."
    - docker run -d -p 80:80 myapp:latest

Passo 3: Configurar variáveis de ambiente

Se sua aplicação requer variáveis de ambiente, configure-as no GitLab através de Settings > CI/CD > Variables.

Passo 4: Executar o pipeline

Após configurar tudo, faça um commit e push para o seu repositório. O GitLab CI/CD executará o pipeline automaticamente.

Conclusão

Com a configuração correta, você terá um pipeline de CI/CD funcional para sua aplicação Python usando GitLab CI e Docker. Dica: Monitore os logs do pipeline para identificar rapidamente quaisquer problemas que possam surgir durante a execução.

Precisa de ajuda com isso no seu servidor? A gente resolve pra você.

falar no WhatsApp

// deu erro ou não funcionou?

Achou algo errado neste manual?

Conta pra gente o que deu errado ou qual erro apareceu — a gente corrige. Se quiser retorno, deixe seu contato.