Enviar pesquisa
Carregar
Integração Contínua
•
5 gostaram
•
573 visualizações
Giovanni Bassi
Seguir
Palestra apresentada no The Developers Conference 2010 (TDC2010) na trilha de Agile.
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 40
Recomendados
2 meetup. sprint architecture
2 meetup. sprint architecture
Marcelo Souza Vieira
MASTERCLASS: Desenvolvedor Expert
MASTERCLASS: Desenvolvedor Expert
Antônio Milesi Bastos
Gdg santa catarina - experiencia gdg lima
Gdg santa catarina - experiencia gdg lima
GDG Lima
TDC2017 | São Paulo - Trilha UX Design Coaching I How we figured out we had a...
TDC2017 | São Paulo - Trilha UX Design Coaching I How we figured out we had a...
tdc-globalcode
TDC2008 Integração Contínua
TDC2008 Integração Contínua
Victor Hugo Germano
Agile Tribes Subway Map
Agile Tribes Subway Map
Laura Klemme
Rápido ou Ágil? (AgileBrazil 2010)
Rápido ou Ágil? (AgileBrazil 2010)
Giovanni Bassi
Workshop sistema de versionamento de código - git
Workshop sistema de versionamento de código - git
Thiago Filadelfo
Recomendados
2 meetup. sprint architecture
2 meetup. sprint architecture
Marcelo Souza Vieira
MASTERCLASS: Desenvolvedor Expert
MASTERCLASS: Desenvolvedor Expert
Antônio Milesi Bastos
Gdg santa catarina - experiencia gdg lima
Gdg santa catarina - experiencia gdg lima
GDG Lima
TDC2017 | São Paulo - Trilha UX Design Coaching I How we figured out we had a...
TDC2017 | São Paulo - Trilha UX Design Coaching I How we figured out we had a...
tdc-globalcode
TDC2008 Integração Contínua
TDC2008 Integração Contínua
Victor Hugo Germano
Agile Tribes Subway Map
Agile Tribes Subway Map
Laura Klemme
Rápido ou Ágil? (AgileBrazil 2010)
Rápido ou Ágil? (AgileBrazil 2010)
Giovanni Bassi
Workshop sistema de versionamento de código - git
Workshop sistema de versionamento de código - git
Thiago Filadelfo
Agile não é pra todo mundo: os desafios não técnicos
Agile não é pra todo mundo: os desafios não técnicos
Thiago Ghisi
Angular + jwt + .net core
Angular + jwt + .net core
MVP Microsoft
Desenvolvendo mvp com python
Desenvolvendo mvp com python
Bruno Rocha
Scrum Experience
Scrum Experience
Rildo (@rildosan) Santos
Kinect e Natural Users Interfaces
Kinect e Natural Users Interfaces
Mauricio Alegretti
Kinect e Natural User Interfaces - TDC2011
Kinect e Natural User Interfaces - TDC2011
Mauricio Alegretti
Bridge e Group Task Analysis - Arquitetura de Informação
Bridge e Group Task Analysis - Arquitetura de Informação
Luiz Agner
[qCon Rio 2015] Arquitetura Incremental
[qCon Rio 2015] Arquitetura Incremental
Rodrigo Stefani Domingues
Bridge e Análise da Tarefa em equipe
Bridge e Análise da Tarefa em equipe
Luiz Agner
TDC2018SP | Trilha UX Design - Design Operations (DesOps) - mapear o trabalho...
TDC2018SP | Trilha UX Design - Design Operations (DesOps) - mapear o trabalho...
tdc-globalcode
Scrum em 15 minutos
Scrum em 15 minutos
Serge Rehem
Git: O que eu preciso saber para entrar no mercado? - - Marcos Echevarria - ...
Git: O que eu preciso saber para entrar no mercado? - - Marcos Echevarria - ...
Tchelinux
Levando seu SCM à outro nível com Feature Flags
Levando seu SCM à outro nível com Feature Flags
André Paulovich
TDC 2014 - A influência dos processos de desenvolvimento na arquitetura
TDC 2014 - A influência dos processos de desenvolvimento na arquitetura
Eric Lemes
Apresentação CIMAC Évora 15 de abril 2021
Apresentação CIMAC Évora 15 de abril 2021
João Torres
Palestra Transformação Ágil - CBGPL 2019
Palestra Transformação Ágil - CBGPL 2019
Adriano Tavares
Ferramentas de Gerenciamento de Projetos
Ferramentas de Gerenciamento de Projetos
VMayfair
Entregando Software com Valor
Entregando Software com Valor
Maicon Carlos Pereira
Engenharia De Software e O Software Livre
Engenharia De Software e O Software Livre
Fabio Sperotto
Metodologias ágeis interativas
Metodologias ágeis interativas
Elton Minetto
O que aprendi montando a arquitetura de microsserviços
O que aprendi montando a arquitetura de microsserviços
Giovanni Bassi
Sendo ágil com git
Sendo ágil com git
Giovanni Bassi
Mais conteúdo relacionado
Semelhante a Integração Contínua
Agile não é pra todo mundo: os desafios não técnicos
Agile não é pra todo mundo: os desafios não técnicos
Thiago Ghisi
Angular + jwt + .net core
Angular + jwt + .net core
MVP Microsoft
Desenvolvendo mvp com python
Desenvolvendo mvp com python
Bruno Rocha
Scrum Experience
Scrum Experience
Rildo (@rildosan) Santos
Kinect e Natural Users Interfaces
Kinect e Natural Users Interfaces
Mauricio Alegretti
Kinect e Natural User Interfaces - TDC2011
Kinect e Natural User Interfaces - TDC2011
Mauricio Alegretti
Bridge e Group Task Analysis - Arquitetura de Informação
Bridge e Group Task Analysis - Arquitetura de Informação
Luiz Agner
[qCon Rio 2015] Arquitetura Incremental
[qCon Rio 2015] Arquitetura Incremental
Rodrigo Stefani Domingues
Bridge e Análise da Tarefa em equipe
Bridge e Análise da Tarefa em equipe
Luiz Agner
TDC2018SP | Trilha UX Design - Design Operations (DesOps) - mapear o trabalho...
TDC2018SP | Trilha UX Design - Design Operations (DesOps) - mapear o trabalho...
tdc-globalcode
Scrum em 15 minutos
Scrum em 15 minutos
Serge Rehem
Git: O que eu preciso saber para entrar no mercado? - - Marcos Echevarria - ...
Git: O que eu preciso saber para entrar no mercado? - - Marcos Echevarria - ...
Tchelinux
Levando seu SCM à outro nível com Feature Flags
Levando seu SCM à outro nível com Feature Flags
André Paulovich
TDC 2014 - A influência dos processos de desenvolvimento na arquitetura
TDC 2014 - A influência dos processos de desenvolvimento na arquitetura
Eric Lemes
Apresentação CIMAC Évora 15 de abril 2021
Apresentação CIMAC Évora 15 de abril 2021
João Torres
Palestra Transformação Ágil - CBGPL 2019
Palestra Transformação Ágil - CBGPL 2019
Adriano Tavares
Ferramentas de Gerenciamento de Projetos
Ferramentas de Gerenciamento de Projetos
VMayfair
Entregando Software com Valor
Entregando Software com Valor
Maicon Carlos Pereira
Engenharia De Software e O Software Livre
Engenharia De Software e O Software Livre
Fabio Sperotto
Metodologias ágeis interativas
Metodologias ágeis interativas
Elton Minetto
Semelhante a Integração Contínua
(20)
Agile não é pra todo mundo: os desafios não técnicos
Agile não é pra todo mundo: os desafios não técnicos
Angular + jwt + .net core
Angular + jwt + .net core
Desenvolvendo mvp com python
Desenvolvendo mvp com python
Scrum Experience
Scrum Experience
Kinect e Natural Users Interfaces
Kinect e Natural Users Interfaces
Kinect e Natural User Interfaces - TDC2011
Kinect e Natural User Interfaces - TDC2011
Bridge e Group Task Analysis - Arquitetura de Informação
Bridge e Group Task Analysis - Arquitetura de Informação
[qCon Rio 2015] Arquitetura Incremental
[qCon Rio 2015] Arquitetura Incremental
Bridge e Análise da Tarefa em equipe
Bridge e Análise da Tarefa em equipe
TDC2018SP | Trilha UX Design - Design Operations (DesOps) - mapear o trabalho...
TDC2018SP | Trilha UX Design - Design Operations (DesOps) - mapear o trabalho...
Scrum em 15 minutos
Scrum em 15 minutos
Git: O que eu preciso saber para entrar no mercado? - - Marcos Echevarria - ...
Git: O que eu preciso saber para entrar no mercado? - - Marcos Echevarria - ...
Levando seu SCM à outro nível com Feature Flags
Levando seu SCM à outro nível com Feature Flags
TDC 2014 - A influência dos processos de desenvolvimento na arquitetura
TDC 2014 - A influência dos processos de desenvolvimento na arquitetura
Apresentação CIMAC Évora 15 de abril 2021
Apresentação CIMAC Évora 15 de abril 2021
Palestra Transformação Ágil - CBGPL 2019
Palestra Transformação Ágil - CBGPL 2019
Ferramentas de Gerenciamento de Projetos
Ferramentas de Gerenciamento de Projetos
Entregando Software com Valor
Entregando Software com Valor
Engenharia De Software e O Software Livre
Engenharia De Software e O Software Livre
Metodologias ágeis interativas
Metodologias ágeis interativas
Mais de Giovanni Bassi
O que aprendi montando a arquitetura de microsserviços
O que aprendi montando a arquitetura de microsserviços
Giovanni Bassi
Sendo ágil com git
Sendo ágil com git
Giovanni Bassi
Analisando dumps de memória de aplicações .NET
Analisando dumps de memória de aplicações .NET
Giovanni Bassi
Novidades do c# 7 e 8
Novidades do c# 7 e 8
Giovanni Bassi
Async e await com JavaScript: entenda e use agora
Async e await com JavaScript: entenda e use agora
Giovanni Bassi
Conhecendo o AKS, o azure container services com kubernetes
Conhecendo o AKS, o azure container services com kubernetes
Giovanni Bassi
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Giovanni Bassi
C#7, 7.1, 7.2, 7.3 e C# 8
C#7, 7.1, 7.2, 7.3 e C# 8
Giovanni Bassi
Engenharia ágil de ponta a ponta do clone ao deploy
Engenharia ágil de ponta a ponta do clone ao deploy
Giovanni Bassi
Entrega contínua fica mais fácil com contêineres
Entrega contínua fica mais fácil com contêineres
Giovanni Bassi
.NET Core, ASP.NET Core e .NET Standard 2
.NET Core, ASP.NET Core e .NET Standard 2
Giovanni Bassi
.NET com contêineres Windows e Linux
.NET com contêineres Windows e Linux
Giovanni Bassi
Async e await com JavaScript: entenda e use agora
Async e await com JavaScript: entenda e use agora
Giovanni Bassi
Compartilhando código entre frontend e backend com Node.js
Compartilhando código entre frontend e backend com Node.js
Giovanni Bassi
Construindo uma ferramenta CLI multiplataforma com Node.js
Construindo uma ferramenta CLI multiplataforma com Node.js
Giovanni Bassi
O Futuro do C#: C#8
O Futuro do C#: C#8
Giovanni Bassi
Um mergulho nos containers windows
Um mergulho nos containers windows
Giovanni Bassi
Por dentro do .NET Core
Por dentro do .NET Core
Giovanni Bassi
Build e release pipeline com docker
Build e release pipeline com docker
Giovanni Bassi
Release contínuo de um microsserviço com Docker ASP.net core e Azure Containe...
Release contínuo de um microsserviço com Docker ASP.net core e Azure Containe...
Giovanni Bassi
Mais de Giovanni Bassi
(20)
O que aprendi montando a arquitetura de microsserviços
O que aprendi montando a arquitetura de microsserviços
Sendo ágil com git
Sendo ágil com git
Analisando dumps de memória de aplicações .NET
Analisando dumps de memória de aplicações .NET
Novidades do c# 7 e 8
Novidades do c# 7 e 8
Async e await com JavaScript: entenda e use agora
Async e await com JavaScript: entenda e use agora
Conhecendo o AKS, o azure container services com kubernetes
Conhecendo o AKS, o azure container services com kubernetes
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
C#7, 7.1, 7.2, 7.3 e C# 8
C#7, 7.1, 7.2, 7.3 e C# 8
Engenharia ágil de ponta a ponta do clone ao deploy
Engenharia ágil de ponta a ponta do clone ao deploy
Entrega contínua fica mais fácil com contêineres
Entrega contínua fica mais fácil com contêineres
.NET Core, ASP.NET Core e .NET Standard 2
.NET Core, ASP.NET Core e .NET Standard 2
.NET com contêineres Windows e Linux
.NET com contêineres Windows e Linux
Async e await com JavaScript: entenda e use agora
Async e await com JavaScript: entenda e use agora
Compartilhando código entre frontend e backend com Node.js
Compartilhando código entre frontend e backend com Node.js
Construindo uma ferramenta CLI multiplataforma com Node.js
Construindo uma ferramenta CLI multiplataforma com Node.js
O Futuro do C#: C#8
O Futuro do C#: C#8
Um mergulho nos containers windows
Um mergulho nos containers windows
Por dentro do .NET Core
Por dentro do .NET Core
Build e release pipeline com docker
Build e release pipeline com docker
Release contínuo de um microsserviço com Docker ASP.net core e Azure Containe...
Release contínuo de um microsserviço com Docker ASP.net core e Azure Containe...
Integração Contínua
1.
Integração Contínua Giovanni
Bassi Consultor Independente | MVP | ScrumDeveloperTrainer | ScrumTrainer giggio@giggio.net | unplugged.giggio.net | giovannibassi.com
2.
3.
4.
.Net ArchitectsGrupo: www.dotnetarchitects.netPodcast: podcast.dotnetarchitects.netOnline: tinyurl.com/DotNetArchDojo: dojo.dotnetarchitects.netTwitter:
#DotNetArchitects@NetArchitects3
5.
Agenda
6.
Dev 1 Dev
2 Trunk (ou mainline)
7.
Dev 1 Dev
2 Trunk (ou mainline)
8.
Dev 1 Dev
2 Trunk (ou mainline)
9.
Dev 1 Dev
2 Trunk (ou mainline)
10.
Dev 1 Dev
2 Trunk (ou mainline)
11.
Dev 1 Dev
2 1,2 3 1 2 1, 2, 3 Build Machine 1, 2, 3 3, 4, 5 Dev 3 Dev 4 4 4 5
12.
Dev 1 Dev
2 Trunk (ou mainline)
13.
Fluxo de trabalho
14.
É uma prática,
não uma ferramenta
15.
Algumas práticas
16.
Repositório único de
código
17.
18.
Build automatizada
19.
Frequência dos commits
20.
Cada commit gera
uma build... ou não?
21.
22.
O commit só
termina quando o build é aceito Outro dev
23.
Pending Head DelayedCommit
GatedCheckin
24.
Build Manual?
25.
Máquina de build
26.
Build deve ser
rápida
27.
Use testes de
fumaça
28.
Build de 2
estágios
29.
Teste em ambiente
equivalente ao de produção
30.
Acesso fácil ao
resultado da build
31.
Informações devem irradiar
32.
33.
34.
Colocando em produção
35.
36.
37.
Vai ter permitir
ser mais ágil ...
38.
... e ter
mais qualidade
39.
Demo
40.
Obrigado!
41.
42.
.Net ArchitectsGrupo: www.dotnetarchitects.netPodcast: podcast.dotnetarchitects.netOnline: tinyurl.com/DotNetArchDojo: dojo.dotnetarchitects.netTwitter:
#DotNetArchitects@NetArchitects40
Notas do Editor
Integração no finalHá ilusão de impedir merges bloqueando alteração do mesmo arquivo fonteMerges de comportamento são também comuns
Atualização do trunk constante, mas integração no final
Integração mais frequente
Integração frequente
Integração contínua
Integração contínua com DCVS
Aliás, não precisamos de ferramentas
Único? E DCVS?Inclua tudoMáquina nova funciona de imediatoDiretórios de biblioteca são anti-patterns
ANT, NANT, MSBuild, Make, RakePartial buildsTeste a build automaticamentePartialtests
Diário no mínimoPor história?Por tarefa?Com DCVS o commit é local e é frequente.
Um build pode ser feito de múltiplos commits com DCVS
Pode?Pode!
Ambiente padronizadoPossui o básico para compilarLembre-se que no repositório único de código está tudo“Servidor de integração contínua”?
XP: build de dez minutos
Virtualização ajudaMantenha o ambiente sincronizado
Sistema desktop: binários em local conhecidoWeb:deploy em máquina de homologação conhecida
Visual Studio
TeamCity
Exemplo do Juan Lopes
Assim é mais fácil
Rollback quando necessário
Quality...