SlideShare uma empresa Scribd logo
1 de 66
Baixar para ler offline
WORKSHOP
VERSIONAMENTO E
CONTROLE DE PACOTES
M A R C E L O F O R M E N T Ã O | @ m a r c e l o a v f
ANTES DISSO...
GIT WORKFLOWS
O QUE SIGNIFICA
WORKFLOW
O QUE SIGNIFICA
WORKFLOW
• Sequência de passos
• Conjunto de regras
• Desenvolvimento => Produção
• Mais conhecidos do Git:
• Centralized Workflow
• Feature Branch Workflow
• Gitflow Workflow
O QUE SIGNIFICA
WORKFLOW
• Sequência de passos
• Conjunto de regras
• Desenvolvimento => Produção
• Mais conhecidos do Git:
• Centralized Workflow
• Feature Branch Workflow
• Gitflow Workflow
O QUE SIGNIFICA
WORKFLOW
• Sequência de passos
• Conjunto de regras
• Desenvolvimento => Produção
• Mais conhecidos do Git:
• Centralized Workflow
• Feature Branch Workflow
• Gitflow Workflow
O QUE SIGNIFICA
WORKFLOW
• Sequência de passos
• Conjunto de regras
• Desenvolvimento => Produção
• Mais conhecidos do Git:
• Centralized Workflow
• Feature Branch Workflow
• Gitflow Workflow
O QUE SIGNIFICA
WORKFLOW
• Sequência de passos
• Conjunto de regras
• Desenvolvimento => Produção
• Mais conhecidos do Git:
• Centralized Workflow
• Feature Branch Workflow
• Gitflow Workflow
O QUE SIGNIFICA
WORKFLOW
• Sequência de passos
• Conjunto de regras
• Desenvolvimento => Produção
• Mais conhecidos do Git:
• Centralized Workflow
• Feature Branch Workflow
• Gitflow Workflow
Centralized
G I T W O R K F L O W S C E N T R A L I Z E D W O R K F L O W
• Branch único
Centralized
G I T W O R K F L O W S C E N T R A L I Z E D W O R K F L O W
• Branch único
• Equipe reduzida
Centralized
Feature Branch
G I T W O R K F L O W S F E A T U R E B R A N C H
• Mais famoso
Centralized
Feature Branch
G I T W O R K F L O W S F E A T U R E B R A N C H
• Mais famoso
• Um branch para cada feature
Centralized
Feature Branch
G I T W O R K F L O W S F E A T U R E B R A N C H
• Mais famoso
• Um branch para cada feature
• Evita conflitos e permite trabalho paralelo
Centralized
Feature Branch
G I T W O R K F L O W S F E A T U R E B R A N C H
• Mais famoso
• Um branch para cada feature
• Evita conflitos e permite trabalho paralelo
• Equipes maiores
Centralized
Feature Branch
Gitflow
G I T W O R K F L O W S G I T F L O W
• Complexo
Centralized
Feature Branch
Gitflow
G I T W O R K F L O W S G I T F L O W
• Complexo
• Conjunto de operações
Centralized
Feature Branch
Gitflow
G I T W O R K F L O W S G I T F L O W
• Complexo
• Conjunto de operações
• Branches predefinidas
Centralized
Feature Branch
Gitflow
G I T W O R K F L O W S
https://www.atlassian.com/git/tutorials/comparing-workflows
https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow
https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow
https://about.gitlab.com/2014/09/29/gitlab-flow/
https://danielkummer.github.io/git-flow-cheatsheet/index.pt_BR.html
https://guides.github.com/introduction/flow/
http://scottchacon.com/2011/08/31/github-flow.html
https://www.visualstudio.com/learn/use-git-microsoft/
L I N K S
Links
CONHEÇA O
VERSIONAMENTO SEMÂNTICO
O QUE É
VERSIONAMENTO SEMÂNTICO
• Padrão de versionamento
O QUE É
VERSIONAMENTO SEMÂNTICO
• Padrão de versionamento
• Conjunto de regras (11 regras)
O QUE É
VERSIONAMENTO SEMÂNTICO
• Padrão de versionamento
• Conjunto de regras (11 regras)
• O software ganha novos recursos
O QUE É
VERSIONAMENTO SEMÂNTICO
• Padrão de versionamento
• Conjunto de regras (11 regras)
• O software ganha novos recursos
• Alguns bugs são corrigidos no software
O QUE É
VERSIONAMENTO SEMÂNTICO
• Padrão de versionamento
• Conjunto de regras (11 regras)
• O software ganha novos recursos
• Alguns bugs são corrigidos no software
• Mudanças na API pública acontecem
O QUE É
VERSIONAMENTO SEMÂNTICO
• Padrão de versionamento
• Conjunto de regras (11 regras)
• O software ganha novos recursos
• Alguns bugs são corrigidos no software
• Mudanças na API pública acontecem
• Evita quebra do software pelas dependências
O QUE É
VERSIONAMENTO SEMÂNTICO
• Padrão de versionamento
• Conjunto de regras (11 regras)
• O software ganha novos recursos
• Alguns bugs são corrigidos no software
• Mudanças na API pública acontecem
• Evita quebra do software pelas dependências
• https://semver.org/lang/pt-BR/
VERSIONAMENTO SEMÂNTICO
#1 API PÚBLICA
• Classes, métodos e/ou funções distribuídas
VERSIONAMENTO SEMÂNTICO
#1 API PÚBLICA
• Classes, métodos e/ou funções distribuídas
• Interação com usuário
VERSIONAMENTO SEMÂNTICO
#1 API PÚBLICA
• Classes, métodos e/ou funções distribuídas
• Interação com usuário
• Micro serviços de API
VERSIONAMENTO SEMÂNTICO
#1 API PÚBLICA
• Classes, métodos e/ou funções distribuídas
• Interação com usuário
• Micro serviços de API
VERSIONAMENTO SEMÂNTICO
#1 API PÚBLICA
• Classes, métodos e/ou funções distribuídas
• Interação com usuário
• Micro serviços de API
VERSIONAMENTO SEMÂNTICO
#2 NÚMERO DE VERSÃO
• Inteiros não-negativos e sem zero à esquerda
• Incrementais
• X => Versão principal (major version)
• Y => Versão secundária (minor version)
• Z => Versão de remendo (patch version)
VERSIONAMENTO SEMÂNTICO
#3 VERSÕES IMUTÁVEIS
• Versão lançada não pode ser modificada
• Dependências fixas
VERSIONAMENTO SEMÂNTICO
#4 DESENVOLVIMENTO INICIAL
• Major version iniciada como zero
• Alerta de estado inicial
0 Y Z
VERSIONAMENTO SEMÂNTICO
#5 VERSÃO 1.0.0
• Versões posteriores baseadas em 1.0.0 e não anterior
• Define uma versão de API Pública
1 0 0
VERSIONAMENTO SEMÂNTICO
#6 PATCH VERSION
• Correção de problemas/bugs
• Mudança interna de comportamento incorreto
• Não quebra a compatibilidade da dependência
1 0 1
VERSIONAMENTO SEMÂNTICO
#7 MINOR VERSION
• Inclusão de funcionalidades
• Funcionalidade depreciada (deprecated)
• Seta a versão de patch para zero
1 1 0
VERSIONAMENTO SEMÂNTICO
#8 MAJOR VERSION
• Introduz quebra de compatibilidade
• Seta a versão de minor e patch para zero
2 0 0
VERSIONAMENTO SEMÂNTICO
• #9 – Versões de “pré-lançamento”
• 1.0.0-alpha
• 1.0.0-alpha.1
• 1.0.0-0.3.7
• #10 – Dados de build
• 1.0.0-alpha+001
• 1.0.0+20130313144700
• 1.0.0-beta+exp.sha.5114f85
• #11 – Precedência de versões
• 1.0.0 < 2.0.0 < 2.0.1 < 2.1.0
VERSIONAMENTO SEMÂNTICO
COMMITS SEMÂNTICOS
1 1 0
VERSIONAMENTO SEMÂNTICO
COMMITS SEMÂNTICOS
1 1 0
VERSIONAMENTO SEMÂNTICO
COMMITS SEMÂNTICOS
1 1 1
VERSIONAMENTO SEMÂNTICO
COMMITS SEMÂNTICOS
1 1 1
VERSIONAMENTO SEMÂNTICO
COMMITS SEMÂNTICOS
1 1 1
VERSIONAMENTO SEMÂNTICO
COMMITS SEMÂNTICOS
1 2 0
VERSIONAMENTO SEMÂNTICO
COMMITS SEMÂNTICOS
1 2 0
VERSIONAMENTO SEMÂNTICO
COMMITS SEMÂNTICOS
1 2 0
VERSIONAMENTO SEMÂNTICO
COMMITS SEMÂNTICOS
1 3 0
VERSIONAMENTO SEMÂNTICO
COMMITS SEMÂNTICOS
1 3 0
VERSIONAMENTO SEMÂNTICO
COMMITS SEMÂNTICOS
1 3 0
VERSIONAMENTO SEMÂNTICO
COMMITS SEMÂNTICOS
2 0 0
O QUE É
NUGET
O QUE É
NUGET
CONHEÇA O
NUGET
• Gerenciador de pacotes .NET
CONHEÇA O
NUGET
• Gerenciador de pacotes .NET
• Pacotes globais
CONHEÇA O
NUGET
• Gerenciador de pacotes .NET
• Pacotes globais
• Público ou privado
CONHEÇA O
NUGET
• Gerenciador de pacotes .NET
• Pacotes globais
• Público ou privado
A MÁGICA DO
PACKAGE REFERENCE
A MÁGICA DO
PACKAGE REFERENCE
• Compreende a versão semântica
A MÁGICA DO
PACKAGE REFERENCE
• Compreende a versão semântica
• Utiliza de referências de pacotes
A MÁGICA DO
PACKAGE REFERENCE
• Compreende a versão semântica
• Utiliza de referências de pacotes
A MÁGICA DO
PACKAGE REFERENCE
• Compreende a versão semântica
• Utiliza de referências de pacotes
REFERÊNCIAS
LINKS
• http://thiagolunardi.net/2017/08/semver-versionamento-semantico/
• https://fjorgemota.com/versionamento-semantico-ou-como-versionar-software/
• https://docs.microsoft.com/pt-br/nuget/consume-packages/dependency-resolution
• https://docs.microsoft.com/en-us/nuget/reference/package-versioning
• https://docs.microsoft.com/pt-br/nuget/what-is-nuget
• https://github.com/semantic-release/semantic-release
OBRIGADO!
https://twitter.com/marceloavf

Mais conteúdo relacionado

Semelhante a Workshop - Versionamento e Controle de Pacotes

[DevOps Carioca] Continuous Delivery
[DevOps Carioca]  Continuous Delivery[DevOps Carioca]  Continuous Delivery
[DevOps Carioca] Continuous DeliverySamanta Cicilia
 
Revisitando as Práticas de Engenharia Ágil
Revisitando as Práticas de Engenharia ÁgilRevisitando as Práticas de Engenharia Ágil
Revisitando as Práticas de Engenharia ÁgilDanilo Sato
 
[Uff] Continuous Delivery: Entrega Contínua de Software de Valor
[Uff] Continuous Delivery: Entrega Contínua de Software de Valor[Uff] Continuous Delivery: Entrega Contínua de Software de Valor
[Uff] Continuous Delivery: Entrega Contínua de Software de ValorSamanta Cicilia
 
Controle de Versão com Git e como Otimizar seu Workflow com Git Flow
Controle de Versão com Git e como Otimizar seu Workflow com Git FlowControle de Versão com Git e como Otimizar seu Workflow com Git Flow
Controle de Versão com Git e como Otimizar seu Workflow com Git FlowLucas Araújo Mezêncio
 
TDC 2016 SP - Desmistificando cobertura de código como métrica de qualidade
TDC 2016 SP - Desmistificando cobertura de código como métrica de qualidadeTDC 2016 SP - Desmistificando cobertura de código como métrica de qualidade
TDC 2016 SP - Desmistificando cobertura de código como métrica de qualidadeStefan Teixeira
 
Controlo de Versões Distribuído com Git
Controlo de Versões Distribuído com GitControlo de Versões Distribuído com Git
Controlo de Versões Distribuído com GitC. Augusto Proiete
 
Controlo de Versões Distribuído com Git - C. Augusto Proiete
Controlo de Versões Distribuído com Git - C. Augusto ProieteControlo de Versões Distribuído com Git - C. Augusto Proiete
Controlo de Versões Distribuído com Git - C. Augusto ProieteComunidade NetPonto
 
GitHub Boas Práticas
GitHub Boas PráticasGitHub Boas Práticas
GitHub Boas PráticasCDS
 
[Lady talks]Continuous Delivery
[Lady talks]Continuous Delivery[Lady talks]Continuous Delivery
[Lady talks]Continuous DeliverySamanta Cicilia
 
Monitoramento e Gerenciamento de Infraestrutura com Zabbix - Patrícia Ladislau
Monitoramento e Gerenciamento de Infraestrutura com Zabbix - Patrícia LadislauMonitoramento e Gerenciamento de Infraestrutura com Zabbix - Patrícia Ladislau
Monitoramento e Gerenciamento de Infraestrutura com Zabbix - Patrícia LadislauPatricia Ladislau Silva
 
Voce se preocupa com performance ou é sempre problema da infra
Voce se preocupa com performance ou é sempre problema da infraVoce se preocupa com performance ou é sempre problema da infra
Voce se preocupa com performance ou é sempre problema da infraCDS
 
Php Conference 2013 (Resumão)
Php Conference 2013 (Resumão)Php Conference 2013 (Resumão)
Php Conference 2013 (Resumão)Gustavo Pereira
 
Workshop de Introdução ao Git GitHub
Workshop de Introdução ao Git GitHubWorkshop de Introdução ao Git GitHub
Workshop de Introdução ao Git GitHubGilson Junior
 
Porque usar um sistema de controle de versão distribuído como GIT?
Porque usar um sistema de controle de versão distribuído como GIT?Porque usar um sistema de controle de versão distribuído como GIT?
Porque usar um sistema de controle de versão distribuído como GIT?William Seiti Mizuta
 
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)Igor Abade
 
Git workshop
Git workshopGit workshop
Git workshopYuri Reis
 
TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...
TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...
TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...tdc-globalcode
 
JHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãosJHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãosThiago Soares
 

Semelhante a Workshop - Versionamento e Controle de Pacotes (20)

[DevOps Carioca] Continuous Delivery
[DevOps Carioca]  Continuous Delivery[DevOps Carioca]  Continuous Delivery
[DevOps Carioca] Continuous Delivery
 
Revisitando as Práticas de Engenharia Ágil
Revisitando as Práticas de Engenharia ÁgilRevisitando as Práticas de Engenharia Ágil
Revisitando as Práticas de Engenharia Ágil
 
[Uff] Continuous Delivery: Entrega Contínua de Software de Valor
[Uff] Continuous Delivery: Entrega Contínua de Software de Valor[Uff] Continuous Delivery: Entrega Contínua de Software de Valor
[Uff] Continuous Delivery: Entrega Contínua de Software de Valor
 
Controle de Versão com Git e como Otimizar seu Workflow com Git Flow
Controle de Versão com Git e como Otimizar seu Workflow com Git FlowControle de Versão com Git e como Otimizar seu Workflow com Git Flow
Controle de Versão com Git e como Otimizar seu Workflow com Git Flow
 
TDC 2016 SP - Desmistificando cobertura de código como métrica de qualidade
TDC 2016 SP - Desmistificando cobertura de código como métrica de qualidadeTDC 2016 SP - Desmistificando cobertura de código como métrica de qualidade
TDC 2016 SP - Desmistificando cobertura de código como métrica de qualidade
 
Controlo de Versões Distribuído com Git
Controlo de Versões Distribuído com GitControlo de Versões Distribuído com Git
Controlo de Versões Distribuído com Git
 
Controlo de Versões Distribuído com Git - C. Augusto Proiete
Controlo de Versões Distribuído com Git - C. Augusto ProieteControlo de Versões Distribuído com Git - C. Augusto Proiete
Controlo de Versões Distribuído com Git - C. Augusto Proiete
 
GitHub Boas Práticas
GitHub Boas PráticasGitHub Boas Práticas
GitHub Boas Práticas
 
[Lady talks]Continuous Delivery
[Lady talks]Continuous Delivery[Lady talks]Continuous Delivery
[Lady talks]Continuous Delivery
 
Monitoramento e Gerenciamento de Infraestrutura com Zabbix - Patrícia Ladislau
Monitoramento e Gerenciamento de Infraestrutura com Zabbix - Patrícia LadislauMonitoramento e Gerenciamento de Infraestrutura com Zabbix - Patrícia Ladislau
Monitoramento e Gerenciamento de Infraestrutura com Zabbix - Patrícia Ladislau
 
Voce se preocupa com performance ou é sempre problema da infra
Voce se preocupa com performance ou é sempre problema da infraVoce se preocupa com performance ou é sempre problema da infra
Voce se preocupa com performance ou é sempre problema da infra
 
Php Conference 2013 (Resumão)
Php Conference 2013 (Resumão)Php Conference 2013 (Resumão)
Php Conference 2013 (Resumão)
 
Workshop de Introdução ao Git GitHub
Workshop de Introdução ao Git GitHubWorkshop de Introdução ao Git GitHub
Workshop de Introdução ao Git GitHub
 
10-codigo-limpo-parte-3.pdf
10-codigo-limpo-parte-3.pdf10-codigo-limpo-parte-3.pdf
10-codigo-limpo-parte-3.pdf
 
Porque usar um sistema de controle de versão distribuído como GIT?
Porque usar um sistema de controle de versão distribuído como GIT?Porque usar um sistema de controle de versão distribuído como GIT?
Porque usar um sistema de controle de versão distribuído como GIT?
 
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)
 
Git workshop
Git workshopGit workshop
Git workshop
 
TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...
TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...
TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...
 
Introdução ao AngularJS!
Introdução ao AngularJS!Introdução ao AngularJS!
Introdução ao AngularJS!
 
JHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãosJHipster - Produtividade e Maturidade em suas mãos
JHipster - Produtividade e Maturidade em suas mãos
 

Workshop - Versionamento e Controle de Pacotes