15 pontos por xguru 2022-03-07 | Ainda não há comentários. | Compartilhar no WhatsApp
  • Em Dockerfile, :latest quebra o requisito mais importante de CD: "builds idempotentes reproduzíveis"
    → Isso não só faz o build falhar, como também pode causar erros em produção
  • Especificar latest no manifesto de Pod do Kubernetes é ainda pior
    → No Dockerfile, pelo menos ainda é possível fazer rollback, mas no manifesto de deploy isso cria o risco de quebrar a compatibilidade em qualquer momento em que novos Pods forem sendo distribuídos no rollout
  • Em PIP, package.json, Terraform etc., definir algo como uma versão mínima ou não especificar a versão produz praticamente o mesmo efeito de usar latest
  • Use obrigatoriamente recursos como lockfile, fornecidos pelos frameworks
    • Faça commit do arquivo de lock no controle de código-fonte
    • Ao aplicar novos recursos/correções de bugs/correções de segurança etc., execute algo como terraform init -upgrade e faça commit do arquivo de lock
    • Não atualize o arquivo de lock durante o CI
    • Tipos de arquivo de lock
      • Terraform : .terraform.lock.hcl
      • Python : Pipfile using Pipenv
      • Node/Yarn : yarn.lock
      • Go : go.sum e go.mod
  • Se possível, não faça pulling de dependências em tempo de execução
    → Transforme as dependências em artefatos implantáveis e versione-os
  • Faça varredura de vulnerabilidades com serviços como Twistlock / Grype

Ainda não há comentários.

Ainda não há comentários.