Gerencia da Configuração de Software
Prof. Me. Samuel Rodrigues
Pergunta
Por que o sistema mudou?
Quais forma as mudanças?
O sistema continua funcionando depois das mudanças?
Atividade
Controle de Mudança
Controle de Versão
Integração Contínua
Desenvolvimento de Sistemas
Infraestrutura de TI
Remete ao fim da Separação entre Desenvolvimento e Operações
Cultura trabalho focado na automatização de processos de infra e de desenvolvimento, objetivando aumentar a capacidade do desenvolvimento e distribuição de aplicativos ou serviços em alta velocidade
Controle de Versão (Git, Mercurial, Subversion, Foundation)
Orquestração de Devops (Cerberon)
Provisionamento (Pupet Ansible Docker)
Integração/Entrega Contínua (Jenkins, Travis, Gitlab CI, Github Actions)
Depuração (Fabric, Capistrano)
Monitoramento (Splunk, Nagios, Loggly)
Controle de logs (Flume, ELK, Fluentd)
Continuous integration (CI) is a software development practice where
developers regularly merge their code changes into a central repository, after
which automated builds and tests are run.
Amazon Web Series, 2017
CI most often refers to the build or
integration stage of the software release process and requires both an automation component (e.g., a CI or build service) and a cultural component (e.g., learning to integrate frequently)
Amazon Web Series, 2017
Continuous delivery (CD) is a software development practice where code
changes are automatically built, tested, and prepared for production release
Amazon Web Series, 2017
Continuous Delivery
Continuous Deployment
continuous delivery is not to apply every change to
production immediately, but to ensure that every change is ready to go to
production.
Amazon Web Series, 2017
Qual a principal diferença?
O GitHub Actions permite que você crie fluxos de trabalho personalizados de ciclo de vida de desenvolvimento de software (SDLC, Software Development Life Cycle) diretamente no seu repositório do GitHub.
GitHub, 2020
Workflows são processos automatizados que podem ser configurados em seu repositório para construir, testar, empacotar ou implantar qualquer projeto (no Github).
É basicamente, um pipeline CI/CD
Já Self-Hosted Runners possibilitam mais controle do hardware, sistema operacional e ferramentas.