SlideShare a Scribd company logo
1 of 149
Download to read offline
VERSIONING STRATEGY
MAVEN
MAVENVERSIONING STRATEGY
MAVENVERSIONING STRATEGY
SUBVERSION
SUBVERSION
O Subversion ou simplesmente SVN, é um sistema de controle de versão
desenvolvido para ser o substituto do CVS.	

Fundado em 2000 pela CollabNet, Inc., e desenvolvido como um projeto da
Apache Software Foundation.	

A versão 1.0 do Subversion (lançada em 23 de Fevereiro de 2004) possui
vantagens em relação ao seu concorrente mais antigo CVS, como por
exemplo ”commits" mais atômicos e releases mais consistentes.	

Atualmente na versão 1.8 (Junho de 2013)	

http://subversion.apache.org/docs/release-notes/
GITVERSUS SUBVERSION
GITVERSUS SUBVERSION
SUBVERSION	

Arquitetura centralizada (Cliente-Servidor)	

Depende de uma conexão de rede estabelecida com o
repositório central	

Funciona muito bem quando o repositório central está na
mesma rede local.
GITVERSUS SUBVERSION
SUBVERSION	

!
!
!
!
GITVERSUS SUBVERSION
GIT	

Arquitetura distribuída (peer-to-peer)	

Não depende de conexão para realizar o “commit" do código	

Atende equipes com centenas de desenvolvedores	

Funciona bem quando a equipe está espalhada em diversas filiais da empresa	

O repositório “central”, quando existe, tem o papel do repositório “oficial” e não
como processador central das requisições.	

Maior complexidade
GITVERSUS SUBVERSION
GIT 	

(peer-to-peer)	

commit/update local	

!
!
!
!
GITVERSUS SUBVERSION
GIT 	

Pull: Atualiza o repositório local com todas as
alterações feitas em outro repositório.	

!
Push: Envia as alterações do repositório local
para um outro repositório.	

!
	

 A sincronização entre os desenvolvedores
acontece de repositório a repositório e não
existe, um repositório mais importante que o
outro, embora o papel de um repositório central
possa ser usado para convencionar o fluxo de
trabalho.
GITVERSUS SUBVERSION
No centralizado, os desenvolvedores trabalham no mesmo branch, seja esse a Trunk ou um branch.	

!
!
O modelo distribuído é mais complicado. Na arquitetura peer-to-peer, os branches e os merges
aparentemente desordenados podem tornar o grafo da evolução do projeto confuso à primeira
vista.	

!
!
GITVERSUS SUBVERSION
Comparativo de operações no modelo centralizado e distribuído
GITVERSUS SUBVERSION
Qual é o melhor?	

!
	

 Depende do seu cenário de trabalho!
MAVENVERSIONING STRATEGY
MAVENVERSIONING STRATEGY
FOCA no objetivo!
MAVEN
O que é o Maven?	

	

 Ferramenta para gerenciamento de dependências e construção
de artefatos (projetos).
MAVEN
Como é o processo hoje para construir, versionar, publicar no
repositório (Nexus) e realizar o deploy da aplicação no servidor de
aplicações (WebSphere)?
MAVEN
MAVEN
1.	

 Cria-se o projeto com maven e define a versão inicial 1.0.0
MAVEN
1.	

 Cria-se o projeto com maven e define a versão inicial 1.0.0
MAVEN
1.	

 Cria-se o projeto com maven e define a versão inicial 1.0.0
2.	

 Adiciona funcionalidades ao projeto durante o sprint (Scrum)
MAVEN
1.	

 Cria-se o projeto com maven e define a versão inicial 1.0.0
2.	

 Adiciona funcionalidades ao projeto durante o sprint (Scrum)
MAVEN
1.	

 Cria-se o projeto com maven e define a versão inicial 1.0.0
2.	

 Adiciona funcionalidades ao projeto durante o sprint (Scrum)
3.	

 Antes do pacote de change, altera-se a versão do pom.xml
manualmente.
MAVEN
1.	

 Cria-se o projeto com maven e define a versão inicial 1.0.0
2.	

 Adiciona funcionalidades ao projeto durante o sprint (Scrum)
3.	

 Antes do pacote de change, altera-se a versão do pom.xml
manualmente.
MAVEN
1.	

 Cria-se o projeto com maven e define a versão inicial 1.0.0
2.	

 Adiciona funcionalidades ao projeto durante o sprint (Scrum)
3.	

 Antes do pacote de change, altera-se a versão do pom.xml
manualmente. altera a versão…
MAVEN
1.	

 Cria-se o projeto com maven e define a versão inicial 1.0.0
2.	

 Adiciona funcionalidades ao projeto durante o sprint (Scrum)
3.	

 Antes do pacote de change, altera-se a versão do pom.xml
manualmente. altera a versão…
release + 1
MAVEN
1.	

 Cria-se o projeto com maven e define a versão inicial 1.0.0
2.	

 Adiciona funcionalidades ao projeto durante o sprint (Scrum)
3.	

 Antes do pacote de change, altera-se a versão do pom.xml
manualmente. altera a versão…
release + 1
COMO ASSIM???
MAVEN
MAVEN
4.	

 Envia (commit) o código para o servidor de controle de
versão
MAVEN
4.	

 Envia (commit) o código para o servidor de controle de
versão
MAVEN
4.	

 Envia (commit) o código para o servidor de controle de
versão
MAVEN
4.	

 Envia (commit) o código para o servidor de controle de
versão
MAVEN
4.	

 Envia (commit) o código para o servidor de controle de
versão
5.	

 Realiza a construção do artefato (build do projeto)
MAVEN
4.	

 Envia (commit) o código para o servidor de controle de
versão
5.	

 Realiza a construção do artefato (build do projeto)
MAVEN
4.	

 Envia (commit) o código para o servidor de controle de
versão
5.	

 Realiza a construção do artefato (build do projeto)
profile websphere, lembrou?
MAVEN
4.	

 Envia (commit) o código para o servidor de controle de
versão
5.	

 Realiza a construção do artefato (build do projeto)
6.	

 Publica o artefato no maven proxy (em breve Nexus)
profile websphere, lembrou?
MAVEN
4.	

 Envia (commit) o código para o servidor de controle de
versão
5.	

 Realiza a construção do artefato (build do projeto)
6.	

 Publica o artefato no maven proxy (em breve Nexus)
profile websphere, lembrou?
MAVEN
4.	

 Envia (commit) o código para o servidor de controle de
versão
5.	

 Realiza a construção do artefato (build do projeto)
6.	

 Publica o artefato no maven proxy (em breve Nexus)
7.	

 Quando dá vontade, faz a branch da TAG da versão
profile websphere, lembrou?
MAVEN
8.	

 Antes de colocar em produção, publica-se no ambiente de
testes e posteriormente homologação.
MAVEN
MAVEN
release + 1 ?
MAVEN
release + 1 ? Quando?
MAVEN
release + 1 ? Quando?
MAVEN
release + 1 ? Quando?
MAVEN
release + 1 ? Quando?
MAVEN
release + 1 ? Quando?
Como?
MAVEN
1 . ? . ?
release + 1 ? Quando?
Como?
MAVEN
1 . ? . ? - ?
release + 1 ? Quando?
Como?
MAVEN
Qual estratégia utilizar para incrementar a versão do projeto?
1 . ? . ? - ?
release + 1 ? Quando?
Como?
SNAPSHOTS
Primeiro de tudo, SNAPSHOT não é a mesma coisa que alpha/beta
ou milestone. É uma palavra-chave que significa a última versão do
seu código. Aquela em desenvolvimento! Ou seja, ela muda!	

Se você fizer o checkout do código ‘plataforma-1.5.0-SNAPSHOT'
hoje e baixar a mesma versão mais tarde, muito provavelmente ele
NÃO será o mesmo.	

Isto também significa que se o seu projeto depende de uma versão
SNAPSHOT, o maven precisará checar o repositório remoto por
mudanças toda hora que você compilar o projeto.
RELEASES
Então o que é uma release?	

Release não significa que a sua versão está pronta para ir à produção.	

Significa que o desenvolvedor decidiu que a este ponto do desenvolvimento o código deve ser “lockado”, ou seja, não
irá se perder ou ser alterado.	

Talvez o time de desenvolvimento quer apenas distribuir este código, seja como uma biblioteca para outras áreas que
precisam se adiantar em suas tarefas, ou instalá-lo em um ambiente (servidor) de testes.	

Isto significa que uma release pode ser:
RELEASES
Então o que é uma release?	

Release não significa que a sua versão está pronta para ir à produção.	

Significa que o desenvolvedor decidiu que a este ponto do desenvolvimento o código deve ser “lockado”, ou seja, não
irá se perder ou ser alterado.	

Talvez o time de desenvolvimento quer apenas distribuir este código, seja como uma biblioteca para outras áreas que
precisam se adiantar em suas tarefas, ou instalá-lo em um ambiente (servidor) de testes.	

Isto significa que uma release pode ser:
alpha
RELEASES
Então o que é uma release?	

Release não significa que a sua versão está pronta para ir à produção.	

Significa que o desenvolvedor decidiu que a este ponto do desenvolvimento o código deve ser “lockado”, ou seja, não
irá se perder ou ser alterado.	

Talvez o time de desenvolvimento quer apenas distribuir este código, seja como uma biblioteca para outras áreas que
precisam se adiantar em suas tarefas, ou instalá-lo em um ambiente (servidor) de testes.	

Isto significa que uma release pode ser:
alpha
beta
RELEASES
Então o que é uma release?	

Release não significa que a sua versão está pronta para ir à produção.	

Significa que o desenvolvedor decidiu que a este ponto do desenvolvimento o código deve ser “lockado”, ou seja, não
irá se perder ou ser alterado.	

Talvez o time de desenvolvimento quer apenas distribuir este código, seja como uma biblioteca para outras áreas que
precisam se adiantar em suas tarefas, ou instalá-lo em um ambiente (servidor) de testes.	

Isto significa que uma release pode ser:
alpha
beta
release candidate
RELEASES
Então o que é uma release?	

Release não significa que a sua versão está pronta para ir à produção.	

Significa que o desenvolvedor decidiu que a este ponto do desenvolvimento o código deve ser “lockado”, ou seja, não
irá se perder ou ser alterado.	

Talvez o time de desenvolvimento quer apenas distribuir este código, seja como uma biblioteca para outras áreas que
precisam se adiantar em suas tarefas, ou instalá-lo em um ambiente (servidor) de testes.	

Isto significa que uma release pode ser:
alpha
beta
release candidate
patch
RELEASES
Então o que é uma release?	

Release não significa que a sua versão está pronta para ir à produção.	

Significa que o desenvolvedor decidiu que a este ponto do desenvolvimento o código deve ser “lockado”, ou seja, não
irá se perder ou ser alterado.	

Talvez o time de desenvolvimento quer apenas distribuir este código, seja como uma biblioteca para outras áreas que
precisam se adiantar em suas tarefas, ou instalá-lo em um ambiente (servidor) de testes.	

Isto significa que uma release pode ser:
alpha
beta
release candidate
patch
production
VERSIONING STRATEGY
VERSIONING STRATEGY
Maven strategy:	

<major>.<minor>.<incremental>-<qualifier>
VERSIONING STRATEGY
Maven strategy:	

<major>.<minor>.<incremental>-<qualifier>
Ex. plataforma-1.5.5-RC
VERSIONING STRATEGY
Maven strategy:	

<major>.<minor>.<incremental>-<qualifier>
Estratégia de alguns fornecedores de mercado:	

<major>.<minor>.<patch>[-<type>-<attempt>]
Ex. plataforma-1.5.5-RC
VERSIONING STRATEGY
Maven strategy:	

<major>.<minor>.<incremental>-<qualifier>
Estratégia de alguns fornecedores de mercado:	

<major>.<minor>.<patch>[-<type>-<attempt>]
Ex. plataforma-1.5.5-RC
Ex. plataforma-1.5.0-RC-05
VERSIONING STRATEGY
Spring framework release keywords
VERSIONING STRATEGY
JBoss Community release keywords
VERSIONING STRATEGY
JBoss Community release keywords
VERSIONING STRATEGY
JBoss Community release keywords	

!
major.minor.micro.Alpha[n]	

major.minor.micro.Beta[n]	

major.minor.micro.CR[n]	

major.minor.micro.Final
General Availability
General Availability
General Availabilityalmost final release
General Availabilityalmost final release
for test only
General Availabilityalmost final release
for test only
General Availabilityalmost final release
final tested release
for test only
General Availabilityalmost final release
final tested release
for test only
General Availabilityalmost final release
final tested release
for test only
for test only
General Availabilityalmost final release
final tested release
for test only
for test only
General Availabilityalmost final release
For all announcements of releases of our community
projects, we should not use the term GA (General
Availability) or Production. 	

… split between community releases and long-term
stable product releases (introduced in July, 2007 with
EAP 4.2),
VERSIONING STRATEGY
Temos ainda,	

as keywords milestone no lugar das tradicionais alpha, beta, etc. 	

Também utilizado em alguns projetos da RedHat.	

!
major.minor.micro.TIMESTAMP-Mn	

major.minor.micro.CR[n]	

major.minor.micro.Final
VERSIONING STRATEGY
<major>.<minor>.<patch>[-<type>-<attempt>]
<major> – é usado para indicar mudanças significativas na
aplicação. Ela pode ser também uma total reescrita da versão
anterior, gerando incompatibilidade de código.
VERSIONING STRATEGY
1 . 0 . 0
<major>.<minor>.<patch>[-<type>-<attempt>]
<major> – é usado para indicar mudanças significativas na
aplicação. Ela pode ser também uma total reescrita da versão
anterior, gerando incompatibilidade de código.
VERSIONING STRATEGY
<minor> – Este número indica um conjunto de pequenas alterações
como a inclusão de uma nova funcionalidade, representando por
exemplo os Sprints de uma 'estória', baseado na metodologia Scrum. 	

Esta sempre será compatível com a versão anterior!
<major>.<minor>.<patch>[-<type>-<attempt>]
VERSIONING STRATEGY
<minor> – Este número indica um conjunto de pequenas alterações
como a inclusão de uma nova funcionalidade, representando por
exemplo os Sprints de uma 'estória', baseado na metodologia Scrum. 	

Esta sempre será compatível com a versão anterior!
1 . 0 . 0
<major>.<minor>.<patch>[-<type>-<attempt>]
VERSIONING STRATEGY
<patch> – Indicado para representar correções de bugs que não
podem esperar até que a próxima versão fique pronta. Nunca
deverá incluir funcionalidades, apenas correções e deverá ser
compatível com versões anteriores.
<major>.<minor>.<patch>[-<type>-<attempt>]
VERSIONING STRATEGY
<patch> – Indicado para representar correções de bugs que não
podem esperar até que a próxima versão fique pronta. Nunca
deverá incluir funcionalidades, apenas correções e deverá ser
compatível com versões anteriores.
1 . 0 . 0
<major>.<minor>.<patch>[-<type>-<attempt>]
VERSIONING STRATEGY
[<type>-<attempt>] – Esta última parte é opcional e é usada para indicar que o
release não é necessariamente estável (production). Não é um número, mas um texto,
como por exemplo: beta-01, RC-01, GA, etc.	

Quando a versão é estável, pode-se omitir este texto ou utilizar a nomenclatura
respectiva, como: FINAL, RELEASE
<major>.<minor>.<patch>[-<type>-<attempt>]
VERSIONING STRATEGY
[<type>-<attempt>] – Esta última parte é opcional e é usada para indicar que o
release não é necessariamente estável (production). Não é um número, mas um texto,
como por exemplo: beta-01, RC-01, GA, etc.	

Quando a versão é estável, pode-se omitir este texto ou utilizar a nomenclatura
respectiva, como: FINAL, RELEASE
1 . 0 . 0 - RC -01
<major>.<minor>.<patch>[-<type>-<attempt>]
VERSIONING STRATEGY
major.minor.micro.Alpha[n]	

major.minor.micro.Beta[n]	

major.minor.micro.CR[n]	

major.minor.micro.Final
VERSIONING STRATEGY
major.minor.micro.Alpha[n]	

major.minor.micro.Beta[n]	

major.minor.micro.CR[n]	

major.minor.micro.Final
VERSIONING STRATEGY
major.minor.micro.Alpha[n]	

major.minor.micro.Beta[n]	

major.minor.micro.CR[n]	

major.minor.micro.Final
VERSIONING STRATEGY
VERSIONING STRATEGY
Maven release plugin
VERSIONING STRATEGY
final do sprint #1
Maven release plugin
VERSIONING STRATEGY
final do sprint #1
Maven release plugin
VERSIONING STRATEGY
final do sprint #1 mvn release:prepare
Maven release plugin
VERSIONING STRATEGY
final do sprint #1 mvn release:prepare
Maven release plugin
VERSIONING STRATEGY
final do sprint #1 mvn release:prepare v.1.0.0.RC-01
Maven release plugin
VERSIONING STRATEGY
final do sprint #1 mvn release:prepare v.1.0.0.RC-01
Maven release plugin
VERSIONING STRATEGY
final do sprint #1 mvn release:prepare v.1.0.0.RC-01
Maven release plugin
VERSIONING STRATEGY
final do sprint #1 mvn release:prepare v.1.0.0.RC-01
Maven release plugin
1.	

 Verifica se não existe alteração pendente no repositório local
VERSIONING STRATEGY
final do sprint #1 mvn release:prepare v.1.0.0.RC-01
Maven release plugin
1.	

 Verifica se não existe alteração pendente no repositório local
2.	

 Checa se existe dependencias por SNAPSHOTS
VERSIONING STRATEGY
final do sprint #1 mvn release:prepare v.1.0.0.RC-01
Maven release plugin
1.	

 Verifica se não existe alteração pendente no repositório local
2.	

 Checa se existe dependencias por SNAPSHOTS
3.	

 É solicitado o nome da TAG, da release e da próxima versão de desenvolvimento (ENTER)
VERSIONING STRATEGY
final do sprint #1 mvn release:prepare v.1.0.0.RC-01
Maven release plugin
1.	

 Verifica se não existe alteração pendente no repositório local
2.	

 Checa se existe dependencias por SNAPSHOTS
3.	

 É solicitado o nome da TAG, da release e da próxima versão de desenvolvimento (ENTER)
4.	

 A branch da TAG da release atual é criada automaticamente no SVN
VERSIONING STRATEGY
Maven release plugin
VERSIONING STRATEGY
Maven release plugin
mvn release:prepare
VERSIONING STRATEGY
Maven release plugin
mvn release:prepare
VERSIONING STRATEGY
mvn release:perform
Maven release plugin
mvn release:prepare
VERSIONING STRATEGY
mvn release:perform
Maven release plugin
mvn release:prepare
VERSIONING STRATEGY
mvn release:perform
Maven release plugin
mvn release:prepare
VERSIONING STRATEGY
mvn release:perform
Maven release plugin
mvn release:prepare
VERSIONING STRATEGY
mvn release:perform
v.1.0.0.RC-01
Maven release plugin
mvn release:prepare
VERSIONING STRATEGY
mvn release:perform
v.1.0.0.RC-01
Maven release plugin
mvn release:prepare
checkout	

da	

TAG
VERSIONING STRATEGY
mvn release:perform
v.1.0.0.RC-01
Maven release plugin
mvn release:prepare
checkout	

da	

TAG
VERSIONING STRATEGY
mvn release:perform
v.1.0.0.RC-01
Maven release plugin
mvn release:prepare
checkout	

da	

TAG build
VERSIONING STRATEGY
mvn release:perform
v.1.0.0.RC-01
Maven release plugin
mvn release:prepare
checkout	

da	

TAG
deploy
build
VERSIONING STRATEGY
mvn release:perform
v.1.0.0.RC-01
Maven release plugin
mvn release:prepare
checkout	

da	

TAG
deploy
build
VERSIONING STRATEGY
mvn release:perform
v.1.0.0.RC-01
Maven release plugin
5.	

 Faz o checkout do código da TAG criada anteriormente
mvn release:prepare
checkout	

da	

TAG
deploy
build
VERSIONING STRATEGY
mvn release:perform
v.1.0.0.RC-01
Maven release plugin
5.	

 Faz o checkout do código da TAG criada anteriormente
6.	

 Executa o ciclo de vida de build do maven (clean, build, test, install)
mvn release:prepare
checkout	

da	

TAG
deploy
build
VERSIONING STRATEGY
mvn release:perform
v.1.0.0.RC-01
Maven release plugin
5.	

 Faz o checkout do código da TAG criada anteriormente
6.	

 Executa o ciclo de vida de build do maven (clean, build, test, install)
7.	

 Realiza o deploy do artefato instalado localmente no repositório remoto (Nexus)
mvn release:prepare
checkout	

da	

TAG
deploy
build
VERSIONING STRATEGY
e agora?
VERSIONING STRATEGY
Jenkins (CruiseControl, Hudson, etc.)
VERSIONING STRATEGY
Jenkins (CruiseControl, Hudson, etc.)
VERSIONING STRATEGY
Jenkins (CruiseControl, Hudson, etc.)
VERSIONING STRATEGY
Jenkins, próximos passos:
VERSIONING STRATEGY
Jenkins, próximos passos:
VERSIONING STRATEGY
Jenkins, próximos passos:
Configurar o Jenkins realizar o build da aplicação, executar os testes
integrados, preparar a tag da versão no SVN, publicar o artefato no
repositório remoto e por fim, efetuar o deploy da aplicação em ambiente
de testes.
VERSIONING STRATEGY
Jenkins, próximos passos:
Configurar o Jenkins realizar o build da aplicação, executar os testes
integrados, preparar a tag da versão no SVN, publicar o artefato no
repositório remoto e por fim, efetuar o deploy da aplicação em ambiente
de testes.
VERSIONING STRATEGY
VERSIONING STRATEGY
Commit
VERSIONING STRATEGY
Commit
VERSIONING STRATEGY
Commit
VERSIONING STRATEGY
Commit
VERSIONING STRATEGY
Commit
VERSIONING STRATEGY
Commit
svn polling
VERSIONING STRATEGY
Commit
svn polling
VERSIONING STRATEGY
Commit
svn polling
VERSIONING STRATEGY
Commit
svn polling
build
VERSIONING STRATEGY
Commit
svn polling
build
VERSIONING STRATEGY
Commit
svn polling
build
integration tests
VERSIONING STRATEGY
Commit
svn polling
build
integration tests
VERSIONING STRATEGY
Commit
svn polling
build
integration tests
VERSIONING STRATEGY
Commit
deploy
svn polling
build
integration tests
VERSIONING STRATEGY
Commit
deploy
svn polling
build
Maven	

release pluginintegration tests
VERSIONING STRATEGY
Commit
deploy
svn polling
build
Maven	

release pluginintegration tests
VERSIONING STRATEGY
Commit
deploy
svn polling
build
Maven	

release pluginintegration tests
VERSIONING STRATEGY
Commit
deploy
svn polling
build
Maven	

release plugin
deploy
integration tests
VERSIONING STRATEGY
Commit
deploy
svn polling
build
Maven	

release plugin
deploy
WebSphere Application Server
integration tests
VERSIONING STRATEGY
OBRIGADO
MARCUS CARVALHO	

@marcus_dev

More Related Content

What's hot

Descomplicando a montagem de ambientes de Testes com Docker - TDC 2018 - São ...
Descomplicando a montagem de ambientes de Testes com Docker - TDC 2018 - São ...Descomplicando a montagem de ambientes de Testes com Docker - TDC 2018 - São ...
Descomplicando a montagem de ambientes de Testes com Docker - TDC 2018 - São ...Renato Groff
 
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVNControle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVNFelipe Queiroz
 
Apresentação maven
Apresentação mavenApresentação maven
Apresentação mavenAndré Justi
 
Paralelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidosParalelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidosElias Nogueira
 
Leitor de Códigos no Android com Barcode Scanner API - ZXing
Leitor de Códigos no Android com Barcode Scanner API - ZXingLeitor de Códigos no Android com Barcode Scanner API - ZXing
Leitor de Códigos no Android com Barcode Scanner API - ZXingVinícius Thiengo
 
Integração Contínua com CVS, CruiseControl, AntHill, Gump
Integração Contínua com CVS, CruiseControl, AntHill, GumpIntegração Contínua com CVS, CruiseControl, AntHill, Gump
Integração Contínua com CVS, CruiseControl, AntHill, GumpDenis L Presciliano
 
Como criar e executar testes paralelos web usando Selenium e containers
Como criar e executar testes paralelos web usando Selenium e containersComo criar e executar testes paralelos web usando Selenium e containers
Como criar e executar testes paralelos web usando Selenium e containersElias Nogueira
 
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...Elias Nogueira
 
Phprs meetup - deploys automatizados com gitlab
Phprs   meetup - deploys automatizados com gitlabPhprs   meetup - deploys automatizados com gitlab
Phprs meetup - deploys automatizados com gitlabJackson F. de A. Mafra
 
Conceitos e exemplos em versionamento de código
Conceitos e exemplos em versionamento de códigoConceitos e exemplos em versionamento de código
Conceitos e exemplos em versionamento de códigoFelipe
 
Sistemas de Controle de Versão
Sistemas de Controle de VersãoSistemas de Controle de Versão
Sistemas de Controle de VersãoJonathas Silva
 
Como montar o seu ambiente de ALM Gratuito em apenas 15 minutos
Como montar o seu ambiente de ALM Gratuito em apenas 15 minutosComo montar o seu ambiente de ALM Gratuito em apenas 15 minutos
Como montar o seu ambiente de ALM Gratuito em apenas 15 minutosRamon Durães
 
Papel do QA na Transformação Ágil
Papel do QA na Transformação ÁgilPapel do QA na Transformação Ágil
Papel do QA na Transformação ÁgilElias Nogueira
 

What's hot (20)

Aula maven
Aula   mavenAula   maven
Aula maven
 
Descomplicando a montagem de ambientes de Testes com Docker - TDC 2018 - São ...
Descomplicando a montagem de ambientes de Testes com Docker - TDC 2018 - São ...Descomplicando a montagem de ambientes de Testes com Docker - TDC 2018 - São ...
Descomplicando a montagem de ambientes de Testes com Docker - TDC 2018 - São ...
 
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVNControle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
Controle de Versão e Monitoramento de Projetos com SVN + WebSVN + StatSVN
 
Introdução a projetos baseados em apache maven
Introdução a projetos baseados em apache mavenIntrodução a projetos baseados em apache maven
Introdução a projetos baseados em apache maven
 
Maven introdução Muito Rápida
Maven introdução Muito RápidaMaven introdução Muito Rápida
Maven introdução Muito Rápida
 
Apresentação maven
Apresentação mavenApresentação maven
Apresentação maven
 
Paralelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidosParalelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidos
 
Introdução ao maven
Introdução ao mavenIntrodução ao maven
Introdução ao maven
 
Leitor de Códigos no Android com Barcode Scanner API - ZXing
Leitor de Códigos no Android com Barcode Scanner API - ZXingLeitor de Códigos no Android com Barcode Scanner API - ZXing
Leitor de Códigos no Android com Barcode Scanner API - ZXing
 
Integração Contínua com CVS, CruiseControl, AntHill, Gump
Integração Contínua com CVS, CruiseControl, AntHill, GumpIntegração Contínua com CVS, CruiseControl, AntHill, Gump
Integração Contínua com CVS, CruiseControl, AntHill, Gump
 
Como criar e executar testes paralelos web usando Selenium e containers
Como criar e executar testes paralelos web usando Selenium e containersComo criar e executar testes paralelos web usando Selenium e containers
Como criar e executar testes paralelos web usando Selenium e containers
 
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...
 
Phprs meetup - deploys automatizados com gitlab
Phprs   meetup - deploys automatizados com gitlabPhprs   meetup - deploys automatizados com gitlab
Phprs meetup - deploys automatizados com gitlab
 
Maven na prática
Maven na práticaMaven na prática
Maven na prática
 
Apresentacao de Introdução ao Apache Maven
Apresentacao de Introdução ao Apache MavenApresentacao de Introdução ao Apache Maven
Apresentacao de Introdução ao Apache Maven
 
Jenkins workshop
Jenkins workshopJenkins workshop
Jenkins workshop
 
Conceitos e exemplos em versionamento de código
Conceitos e exemplos em versionamento de códigoConceitos e exemplos em versionamento de código
Conceitos e exemplos em versionamento de código
 
Sistemas de Controle de Versão
Sistemas de Controle de VersãoSistemas de Controle de Versão
Sistemas de Controle de Versão
 
Como montar o seu ambiente de ALM Gratuito em apenas 15 minutos
Como montar o seu ambiente de ALM Gratuito em apenas 15 minutosComo montar o seu ambiente de ALM Gratuito em apenas 15 minutos
Como montar o seu ambiente de ALM Gratuito em apenas 15 minutos
 
Papel do QA na Transformação Ágil
Papel do QA na Transformação ÁgilPapel do QA na Transformação Ágil
Papel do QA na Transformação Ágil
 

Viewers also liked

Viewers also liked (10)

Rep reuse release equivalence principle
Rep reuse release equivalence principleRep reuse release equivalence principle
Rep reuse release equivalence principle
 
Reuso v16 0
Reuso v16 0Reuso v16 0
Reuso v16 0
 
Thinking Hack - Workouts
Thinking Hack - WorkoutsThinking Hack - Workouts
Thinking Hack - Workouts
 
Pricing
PricingPricing
Pricing
 
Reúso
ReúsoReúso
Reúso
 
Reuso de software
Reuso de softwareReuso de software
Reuso de software
 
Market response to a major policy change in the marketing mix learning from p...
Market response to a major policy change in the marketing mix learning from p...Market response to a major policy change in the marketing mix learning from p...
Market response to a major policy change in the marketing mix learning from p...
 
Release
ReleaseRelease
Release
 
Como perder 10 quilos em 3 semanas
Como perder 10 quilos em 3 semanasComo perder 10 quilos em 3 semanas
Como perder 10 quilos em 3 semanas
 
Strategic Planning PowerPoint Presentation
Strategic Planning PowerPoint PresentationStrategic Planning PowerPoint Presentation
Strategic Planning PowerPoint Presentation
 

Similar to Maven Versioning Strategy (VR)

Maven 3, Sonar e Hudson
Maven 3, Sonar e HudsonMaven 3, Sonar e Hudson
Maven 3, Sonar e HudsonRodrigo Branas
 
Academia do Arquiteto - Implantando A.L.M. em uma semana!
Academia do Arquiteto - Implantando A.L.M. em uma semana!Academia do Arquiteto - Implantando A.L.M. em uma semana!
Academia do Arquiteto - Implantando A.L.M. em uma semana!Globalcode
 
Sistemas de controle de versão
Sistemas de controle de versãoSistemas de controle de versão
Sistemas de controle de versãoMarcos Pessoa
 
Desenvolvimento organizado com VCS
Desenvolvimento organizado com VCSDesenvolvimento organizado com VCS
Desenvolvimento organizado com VCSyogarine
 
Controlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e SubversionControlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e Subversionlekitamura
 
Automação do ciclo de vida de software para Java
Automação do ciclo de vida de software para JavaAutomação do ciclo de vida de software para Java
Automação do ciclo de vida de software para JavaRafael Souza
 
Construindo pipelines com Azure DevOps
Construindo pipelines com Azure DevOpsConstruindo pipelines com Azure DevOps
Construindo pipelines com Azure DevOpsCamila Carrera
 
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWS
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWSAcelerando a entrega de software com as ferramentas de desenvolvimento da AWS
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWSAmazon Web Services LATAM
 
Futuro do ASP.NET vNext - MVP ShowCast
Futuro do ASP.NET vNext - MVP ShowCast Futuro do ASP.NET vNext - MVP ShowCast
Futuro do ASP.NET vNext - MVP ShowCast Eduardo Pires
 
Tendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareTendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareNorberto Santos
 
Introdução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open SourceIntrodução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open SourceGlobalcode
 
Construindo Aplicações PHP com Twelve-Factor App
Construindo Aplicações PHP com Twelve-Factor AppConstruindo Aplicações PHP com Twelve-Factor App
Construindo Aplicações PHP com Twelve-Factor AppMarcela Godoy Cruz
 
Maven e Nexus. O que são essas ferramentas?
Maven e Nexus. O que são essas ferramentas?Maven e Nexus. O que são essas ferramentas?
Maven e Nexus. O que são essas ferramentas?Jocsa Rosendo
 
Continuous Delivery com ArgoCD
Continuous Delivery com ArgoCDContinuous Delivery com ArgoCD
Continuous Delivery com ArgoCDRodrigo Souza
 
DevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínuaDevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínuaAmazon Web Services LATAM
 

Similar to Maven Versioning Strategy (VR) (20)

Svn - grupo de estudos sol7
Svn - grupo de estudos sol7Svn - grupo de estudos sol7
Svn - grupo de estudos sol7
 
Maven 3, Sonar e Hudson
Maven 3, Sonar e HudsonMaven 3, Sonar e Hudson
Maven 3, Sonar e Hudson
 
Academia do Arquiteto - Implantando A.L.M. em uma semana!
Academia do Arquiteto - Implantando A.L.M. em uma semana!Academia do Arquiteto - Implantando A.L.M. em uma semana!
Academia do Arquiteto - Implantando A.L.M. em uma semana!
 
Maven em 10 minutos
Maven em 10 minutosMaven em 10 minutos
Maven em 10 minutos
 
Continuous Deployment e DevOps na Nuvem
Continuous Deployment e DevOps na NuvemContinuous Deployment e DevOps na Nuvem
Continuous Deployment e DevOps na Nuvem
 
Sistemas de controle de versão
Sistemas de controle de versãoSistemas de controle de versão
Sistemas de controle de versão
 
Desenvolvimento organizado com VCS
Desenvolvimento organizado com VCSDesenvolvimento organizado com VCS
Desenvolvimento organizado com VCS
 
Controlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e SubversionControlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e Subversion
 
Automação do ciclo de vida de software para Java
Automação do ciclo de vida de software para JavaAutomação do ciclo de vida de software para Java
Automação do ciclo de vida de software para Java
 
Construindo pipelines com Azure DevOps
Construindo pipelines com Azure DevOpsConstruindo pipelines com Azure DevOps
Construindo pipelines com Azure DevOps
 
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWS
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWSAcelerando a entrega de software com as ferramentas de desenvolvimento da AWS
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWS
 
Futuro do ASP.NET vNext - MVP ShowCast
Futuro do ASP.NET vNext - MVP ShowCast Futuro do ASP.NET vNext - MVP ShowCast
Futuro do ASP.NET vNext - MVP ShowCast
 
Tendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareTendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de Software
 
Ruby Conf Brasil 2015
Ruby Conf Brasil 2015Ruby Conf Brasil 2015
Ruby Conf Brasil 2015
 
Introdução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open SourceIntrodução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open Source
 
Maven
MavenMaven
Maven
 
Construindo Aplicações PHP com Twelve-Factor App
Construindo Aplicações PHP com Twelve-Factor AppConstruindo Aplicações PHP com Twelve-Factor App
Construindo Aplicações PHP com Twelve-Factor App
 
Maven e Nexus. O que são essas ferramentas?
Maven e Nexus. O que são essas ferramentas?Maven e Nexus. O que são essas ferramentas?
Maven e Nexus. O que são essas ferramentas?
 
Continuous Delivery com ArgoCD
Continuous Delivery com ArgoCDContinuous Delivery com ArgoCD
Continuous Delivery com ArgoCD
 
DevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínuaDevOps - melhores práticas e integração contínua
DevOps - melhores práticas e integração contínua
 

Maven Versioning Strategy (VR)