Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Continuous Delivery

Continuous Delivery

Apresentação realizada nos Dojos internos da Klickpages

Vítor Nogueira

July 31, 2020
Tweet

More Decks by Vítor Nogueira

Other Decks in Technology

Transcript

  1. Disciplina de desenvolvimento de software em que você constrói o

    software de forma que possa ser liberado para produção a qualquer momento 3 https://martinfowler.com/bliki/ContinuousDelivery.html
  2. CI 9 Continuous Integration Integrar o código mais rápido possível

    garantindo a qualidade através da execução de testes de código de maneira automatizada
  3. CD 11 Continuous Delivery Realizar entregas de valor de maneira

    automatizada após a integração do código mesmo que utilizando intervenção humana para iniciar o processo
  4. Continuous Deployment significa que todas as alterações passam pelo pipeline

    e são automaticamente colocadas em produção, resultando em muitos deploys de produção todos os dias. 16 https://martinfowler.com/bliki/ContinuousDelivery.html
  5. Continuous Delivery significa apenas que você pode fazer deploys frequentes,

    mas pode optar por não fazê-lo, geralmente devido às empresas que preferem uma taxa mais lenta de implantação 17 https://martinfowler.com/bliki/ContinuousDelivery.html
  6. Automatizar processos 21 • Padronização (lint) (eslint, rubocop, rubycritic) •

    Segurança (brakeman, npm/yarn audit, snyk) • Testes de unidade • Testes de integração • Cobertura de código (coverage) • ...
  7. Automatizar processos 23 • Criação de ambiente (Infraestrutura como Código)

    • Compilação de código • Build de imagem Docker • Push de imagem • ...
  8. 32

  9. 33

  10. 34

  11. 35

  12. 38

  13. 40

  14. 41

  15. 42

  16. Referências 49 • GitLab CI/CD • https://docs.gitlab.com/ee/ci/introduction/index.html#introduction-to-cicd-methodologies • O que

    é Continuous Delivery, Continuous Integration e Continuous Deployment? • What is Continuous Delivery? - Continuous Delivery • Bitbucket Pipelines - Continuous Delivery • GitHub Actions · GitHub • Jenkins • Drone CI – Automate Software Testing and Delivery • CircleCI: Continuous Integration and Delivery • Travis CI - Test and Deploy Your Code with Confidence • Continuous Integration
  17. Referências 50 • ContinuousDelivery • Continuous integration vs. continuous delivery

    vs. continuous deployment • Why you should not use (long-lived) feature branches • Long-lived branches with Gitflow | Technology Radar • Trunk Based Development • Feature Toggles! - Lucas Mazza • jnunemaker/flipper: feature flipping for ruby (performant and simple) • Continuous Integration: What is CI? Testing, Software & Process Tutorial • Continuous Delivery Tutorial • CI/CD Bitbucket Pipelines Reusable steps. Deploying to Kubernetes • CI/CD DevOps: Explorando DevOps com foco em CI/CD
  18. Referências 51 • CanaryRelease • DeploymentPipeline • BlueGreenDeployment • Feature

    Toggles (aka Feature Flags) • Feature Flags in Nodejs + react. Enable continuous deployment and… | by Clément Walter | Sicara's blog • Unleash/unleash: Unleash is the open source feature toggle service • A Comprehensive Guide to Canary Releases | by Daniel Bryant