SlideShare une entreprise Scribd logo
1  sur  31
Continuous Building
usando
TeamCity
ANDRÉ MINELLI
MAIO / 2016
Continuous Building
Objetivo Principal:
Eliminar problema do “works on my machine”
Continuous Building
Ciclo básico:
◦Baixar mudanças de um repositório de código
◦Executar build do código
◦(Opcional) Executar testes automatizados
◦(Opcional) Executar análise estática / cobertura do código
◦(Opcional) Produzir artefatos (binários)
◦(Opcional) Fazer deploy de artefatos
◦Alertar se algum passo falhar
Continuous Building
Necessário COMPROMISSO do time:
Se o build quebrar, deve ser corrigido o
quanto antes!
Continuous Building
Benefícios adicionais:
Continuous Building
Benefícios adicionais:
◦Feedback rápido sobre mudanças do código
Continuous Building
Benefícios adicionais:
◦Feedback rápido sobre mudanças do código
◦Histórico da evolução do código
Continuous Building
Benefícios adicionais:
◦Feedback rápido sobre mudanças do código
◦Histórico da evolução do código
◦Confiabilidade
Continuous Building
Benefícios adicionais:
◦Feedback rápido sobre mudanças do código
◦Histórico da evolução do código
◦Confiabilidade
◦Transparência
Continuous Building
Diferente de Continuous Integration:
◦Integração depende da interação da equipe com o
repositório
◦NÃO depende somente de uma ferramenta
TeamCity
Servidor de continuous building da Jetbrains
Implementado em Java (acreditem se quiser )
Servidor
◦ Gerencia configurações
◦ Monitora repositórios
◦ Registra histórico, logs e estatísticas
◦ Armazena artefatos
Agentes
◦ Executam as etapas do ciclo de build
TeamCity – Configuração Básica
Projetos
◦(Subprojetos)
◦Configurações de build
◦Repositório
◦Build steps
◦Triggers
MÃO NA MASSA!
TeamCity – Configurações de build
Dicas:
◦Name – adicione prefixo com o número de ordem do
‘pipeline’ de build
◦Name – adicione sufixo indicando o tipo de trigger
(automático ou manual)
◦Build Number Format – adicione o ‘major version’ (fixo ou
parametrizado)
TeamCity – Repositórios
Dicas (Git):
◦Branch specification – adicione o(s) caminho(s) de
branches adicionais para serem monitorados
◦Branch specification – use parênteses para encurtar o
nome dos branches
◦Authentication > Password – crie um personal access
token no VSTS
TeamCity – Build steps
Dicas:
◦Use “runners” específicos sempre que possível
◦Plugins!
◦Log e status mais integrado
◦Fique atento ao “execute step” escolhido
◦Alguns “runners” não causam falha do ‘step’
◦Ex: Testes (Nunit, MSTest, etc)
◦Use “Only if build status is successful” nestes casos
TeamCity – Triggers
Dicas:
◦VCS Trigger – filtre pastas de acordo com seu pipeline
◦Ex: somente código precisa de build e testes
◦VCS Trigger – filtre branches de acordo com seu pipeline
◦Ex: package Nuget só deve ser gerado do master
◦Finish Build Trigger - conecte steps de um pipeline
◦Scheduled Trigger – gere ‘nightly builds’
TeamCity – Saindo do básico
General Settings
◦Salve artefatos produzidos no build
◦APKs, Nuget Packages, relatórios de testes, screenshots,
etc
◦Podem ser usados nos próximos build do ‘pipeline’
◦Use o status widget no README do projeto
◦ https://teamcity.takenet.com.br/httpAuth/app/rest/builds/buildT
ype:(id:Lime_Master)/statusIcon
TeamCity – Saindo do básico
Version Control Settings
◦Limpe todos os arquivos antes do build
◦Mesmo efeito de ‘git clone’ a cada build
◦Só desabilite se o tempo de transferencia impactar
◦Mostre as mudanças vindas de builds dependentes
◦Maior transparência em um ‘pipeline’
TeamCity – Saindo do básico
Build Steps
◦Adicione cobertura de código
◦ Runners de testes (.NET) e gradle (Java) possuem integração
◦ Pode impactar testes que dependem de tempo
◦Adicione inspeções de código
◦ FxCop, Resharper Inspections, Duplicates, outros via plugin
◦Copie steps entre projetos
◦Desabilite steps para testes/melhorias
TeamCity – Saindo do básico
Failure Conditions
◦Falhe o build de acordo com métricas
◦ Ex: cobertura reduziu, tamanho de um artefato aumentou
Build Features
◦Altere o AssemblyInfo para casar com o build number
◦Crie uma tag no repositório em caso de sucesso
◦ Muito útil principalmente ao gerar releases
TeamCity – Saindo do básico
Dependencies
◦Configure o ‘pipeline’ (chamado Build Chain)
◦Usará o mesmo commit em cada build step do ‘pipeline’
◦Permite visualizar o ‘pipeline’ para cada número de
versão
◦Copie artefatos gerados em builds anteriores do
‘pipeline’
TeamCity – Saindo do básico
Parameters
◦Adicione detalhes de configuração de steps
◦Explícito, em um único lugar
◦Ex: Usuário, senha, URL, Major version, etc
◦Inclua variáveis de ambiente
◦Utilizadas por exemplo com NodeJS e .NET Core
TeamCity – Saindo do básico
Agent requirements
◦Limite quais agentes possuem recursos específicos
◦ Ex: acesso a redes externas (VPNs, rede pública)
◦ Ex: recursos licenciados (Xamarin, Delphi)
◦Idealmente todos os agentes têm os mesmos recursos
TeamCity – Saindo do básico
Investigations
◦Permite declarar a responsabilidade em resolver um
‘build quebrado’
◦Comunicação interna também funciona bem ;)
TeamCity – Saindo do básico
Notificações
◦Email
◦ IMPORTANTE: configure corretamente seu usuário
◦Diretamente nas IDEs (VS, IntelliJ/AS)
◦Feed RSS, Windows Tray
◦Slack (plugin)
◦Webhooks (plugin)
TeamCity – Saindo do básico
Notificações
◦Casamento de username configurável por
repositório/projeto
◦Regras de notificações
◦ Somente falhas causadas por mim
◦ Somente sucesso após falha
TeamCity – Saindo do básico
Pre-tested commit
◦Garante que todos commit está livre de falhas
◦Submete mudanças para serem executadas ANTES de
serem ‘commitadas’
◦ Em caso de sucesso, faz merge das alterações
◦Requisitos:
◦ Somente com integração pela IDE (VS e IntelliJ/AS)
◦ Git ainda não é (bem) suportado
TeamCity – Exemplos de pipelines
GitFlow
◦1. CB (Auto) – build and unit tests
◦ todos os branches
◦2. Acceptance tests (Auto)
◦ develop, master e releases apenas
◦3. Deploy Hmg (Manual)
◦ releases apenas
◦4. Deploy Prod (Manual)
◦ master apenas
TeamCity – Exemplos de pipelines
Master only
◦1. CB (Auto) – build e unit tests
◦todos os branches
◦2. Acceptance tests (Auto)
◦develop e master apenas
◦3. Deploy (Manual) - gera package para Octopus
◦master apenas
Referências e material adicional
TeamCity User Guide (canal official JetBrains)
◦ https://www.youtube.com/watch?v=dmGa6_4OXdo
TeamCity Documentation
◦ https://confluence.jetbrains.com/display/TCD9/Creating+and+Editi
ng+Build+Configurations
Ícone com interrogação em toda a interface Web
◦ Remete à documentação, para aquele contexto

Contenu connexe

Tendances

Tendances (20)

Desenvolvimento Cross Mobile com Xamarin, por onde começar?
Desenvolvimento Cross Mobile com Xamarin, por onde começar?Desenvolvimento Cross Mobile com Xamarin, por onde começar?
Desenvolvimento Cross Mobile com Xamarin, por onde começar?
 
9 erros que desenvolvedores Node.js cometem
9 erros que desenvolvedores Node.js cometem9 erros que desenvolvedores Node.js cometem
9 erros que desenvolvedores Node.js cometem
 
Desenvolvendo Aplicações com .NET Core - Recode - Dezembro-2019
Desenvolvendo Aplicações com .NET Core - Recode - Dezembro-2019Desenvolvendo Aplicações com .NET Core - Recode - Dezembro-2019
Desenvolvendo Aplicações com .NET Core - Recode - Dezembro-2019
 
Tutorial para Desenvolvimento Mobile usando HTML CSS e Javascript
Tutorial para Desenvolvimento Mobile usando HTML CSS e JavascriptTutorial para Desenvolvimento Mobile usando HTML CSS e Javascript
Tutorial para Desenvolvimento Mobile usando HTML CSS e Javascript
 
Ionic Framework - Parte 1 - Iniciando um Projeto mais Robusto
Ionic Framework - Parte 1 - Iniciando um Projeto mais RobustoIonic Framework - Parte 1 - Iniciando um Projeto mais Robusto
Ionic Framework - Parte 1 - Iniciando um Projeto mais Robusto
 
Ampliando suas fronteiras com Node-Webkit
Ampliando suas fronteiras com Node-WebkitAmpliando suas fronteiras com Node-Webkit
Ampliando suas fronteiras com Node-Webkit
 
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
Descomplicando a montagem de ambientes de Desenvolvimento/Testes com Docker -...
 
Desenvolvendo Aplicações .NET Core em Linux - CEUNSP - Outubro-2019
Desenvolvendo Aplicações .NET Core em Linux - CEUNSP - Outubro-2019Desenvolvendo Aplicações .NET Core em Linux - CEUNSP - Outubro-2019
Desenvolvendo Aplicações .NET Core em Linux - CEUNSP - Outubro-2019
 
Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018
Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018
Docker: Introdução e Primeiros Passos - CEUNSP - Outubro-2018
 
Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...
Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...
Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...
 
Introdução ao Habitat
Introdução ao HabitatIntrodução ao Habitat
Introdução ao Habitat
 
Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...
Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...
Banco de Dados - Docker Compose + Bancos NoSQL: descomplicando a montagem de ...
 
Ambiente de desenvolvimento para aplicações em WordPress com Vagrant, Compose...
Ambiente de desenvolvimento para aplicações em WordPress com Vagrant, Compose...Ambiente de desenvolvimento para aplicações em WordPress com Vagrant, Compose...
Ambiente de desenvolvimento para aplicações em WordPress com Vagrant, Compose...
 
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
Construindo aplicações Desktop com HTML, CSS e JS - Rio.JS Conference 2013
 
ASP.NET Core - iMasters - Março/2016
ASP.NET Core - iMasters - Março/2016ASP.NET Core - iMasters - Março/2016
ASP.NET Core - iMasters - Março/2016
 
Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...
 Alternativas para a Implementação de Microservices no Microsoft Azure - Jane... Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...
Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...
 
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
 
Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...
Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...
Desenvolvimento Web multiplataforma com ASP.NET Core 2.2 e Docker - Open Sour...
 
TDC2016SP - Por dentro do .Net Core
TDC2016SP - Por dentro do .Net CoreTDC2016SP - Por dentro do .Net Core
TDC2016SP - Por dentro do .Net Core
 
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobile
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobileXamarin + TDD - Reagindo rápido à mudanças no mundo mobile
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobile
 

Similaire à Continuous Building usando TeamCity

[.NET Community Summit] CI & CD com ASP.NET Core, VSTS e Azure
[.NET Community Summit] CI & CD com ASP.NET Core, VSTS e Azure[.NET Community Summit] CI & CD com ASP.NET Core, VSTS e Azure
[.NET Community Summit] CI & CD com ASP.NET Core, VSTS e Azure
Jaqueline Ramos
 
Entity Framework 5 & Migrations
Entity Framework 5 & MigrationsEntity Framework 5 & Migrations
Entity Framework 5 & Migrations
Waldyr Felix
 

Similaire à Continuous Building usando TeamCity (20)

Deploy Automatizado usando Octopus
Deploy Automatizado usando OctopusDeploy Automatizado usando Octopus
Deploy Automatizado usando Octopus
 
Consegi 2011: Ganeti + Puppet
Consegi 2011: Ganeti + PuppetConsegi 2011: Ganeti + Puppet
Consegi 2011: Ganeti + Puppet
 
Integração Contínua com Hudson
Integração Contínua com HudsonIntegração Contínua com Hudson
Integração Contínua com Hudson
 
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Containers How we figured out we had a SRE team ...
 
Integração Contínua
Integração ContínuaIntegração Contínua
Integração Contínua
 
[.NET Community Summit] CI & CD com ASP.NET Core, VSTS e Azure
[.NET Community Summit] CI & CD com ASP.NET Core, VSTS e Azure[.NET Community Summit] CI & CD com ASP.NET Core, VSTS e Azure
[.NET Community Summit] CI & CD com ASP.NET Core, VSTS e Azure
 
.Net Community Summit 2018 - CI/CD com ASP.NET Core, VSTS e Azure - Jaqueline...
.Net Community Summit 2018 - CI/CD com ASP.NET Core, VSTS e Azure - Jaqueline....Net Community Summit 2018 - CI/CD com ASP.NET Core, VSTS e Azure - Jaqueline...
.Net Community Summit 2018 - CI/CD com ASP.NET Core, VSTS e Azure - Jaqueline...
 
SonarQube
SonarQubeSonarQube
SonarQube
 
Resumo Sessão Técnica "ArcGIS 10.1 Desktop Developer Migration Topics" do ESR...
Resumo Sessão Técnica "ArcGIS 10.1 Desktop Developer Migration Topics" do ESR...Resumo Sessão Técnica "ArcGIS 10.1 Desktop Developer Migration Topics" do ESR...
Resumo Sessão Técnica "ArcGIS 10.1 Desktop Developer Migration Topics" do ESR...
 
O novo ASP.NET - Stone Tech Saturday - Março/2017
O novo ASP.NET - Stone Tech Saturday - Março/2017O novo ASP.NET - Stone Tech Saturday - Março/2017
O novo ASP.NET - Stone Tech Saturday - Março/2017
 
DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...
DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...
DevCommerce Conference 2016: Vantagens e resultados de containers e VMs para ...
 
Contêineres e VMs no mundo dos E-commerces (Devcommerce2016)
Contêineres e VMs no mundo dos E-commerces (Devcommerce2016)Contêineres e VMs no mundo dos E-commerces (Devcommerce2016)
Contêineres e VMs no mundo dos E-commerces (Devcommerce2016)
 
Palestra parse
Palestra parsePalestra parse
Palestra parse
 
Construindo pipelines com Azure DevOps
Construindo pipelines com Azure DevOpsConstruindo pipelines com Azure DevOps
Construindo pipelines com Azure DevOps
 
IBM Domino 9 cluster - zero to hero
IBM Domino 9 cluster - zero to heroIBM Domino 9 cluster - zero to hero
IBM Domino 9 cluster - zero to hero
 
Ideais Cowabunga - Headless Testing com GhostDriver
Ideais Cowabunga - Headless Testing com GhostDriverIdeais Cowabunga - Headless Testing com GhostDriver
Ideais Cowabunga - Headless Testing com GhostDriver
 
O framework spring
O framework springO framework spring
O framework spring
 
Android DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimentoAndroid DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimento
 
Entity Framework 5 & Migrations
Entity Framework 5 & MigrationsEntity Framework 5 & Migrations
Entity Framework 5 & Migrations
 
.NET Core 2.0, .NET Standard 2.0 e ASP.NET Core 2.0: uma visão geral
.NET Core 2.0, .NET Standard 2.0 e ASP.NET Core 2.0: uma visão geral.NET Core 2.0, .NET Standard 2.0 e ASP.NET Core 2.0: uma visão geral
.NET Core 2.0, .NET Standard 2.0 e ASP.NET Core 2.0: uma visão geral
 

Continuous Building usando TeamCity

  • 2. Continuous Building Objetivo Principal: Eliminar problema do “works on my machine”
  • 3. Continuous Building Ciclo básico: ◦Baixar mudanças de um repositório de código ◦Executar build do código ◦(Opcional) Executar testes automatizados ◦(Opcional) Executar análise estática / cobertura do código ◦(Opcional) Produzir artefatos (binários) ◦(Opcional) Fazer deploy de artefatos ◦Alertar se algum passo falhar
  • 4. Continuous Building Necessário COMPROMISSO do time: Se o build quebrar, deve ser corrigido o quanto antes!
  • 6. Continuous Building Benefícios adicionais: ◦Feedback rápido sobre mudanças do código
  • 7. Continuous Building Benefícios adicionais: ◦Feedback rápido sobre mudanças do código ◦Histórico da evolução do código
  • 8. Continuous Building Benefícios adicionais: ◦Feedback rápido sobre mudanças do código ◦Histórico da evolução do código ◦Confiabilidade
  • 9. Continuous Building Benefícios adicionais: ◦Feedback rápido sobre mudanças do código ◦Histórico da evolução do código ◦Confiabilidade ◦Transparência
  • 10. Continuous Building Diferente de Continuous Integration: ◦Integração depende da interação da equipe com o repositório ◦NÃO depende somente de uma ferramenta
  • 11. TeamCity Servidor de continuous building da Jetbrains Implementado em Java (acreditem se quiser ) Servidor ◦ Gerencia configurações ◦ Monitora repositórios ◦ Registra histórico, logs e estatísticas ◦ Armazena artefatos Agentes ◦ Executam as etapas do ciclo de build
  • 12. TeamCity – Configuração Básica Projetos ◦(Subprojetos) ◦Configurações de build ◦Repositório ◦Build steps ◦Triggers
  • 14. TeamCity – Configurações de build Dicas: ◦Name – adicione prefixo com o número de ordem do ‘pipeline’ de build ◦Name – adicione sufixo indicando o tipo de trigger (automático ou manual) ◦Build Number Format – adicione o ‘major version’ (fixo ou parametrizado)
  • 15. TeamCity – Repositórios Dicas (Git): ◦Branch specification – adicione o(s) caminho(s) de branches adicionais para serem monitorados ◦Branch specification – use parênteses para encurtar o nome dos branches ◦Authentication > Password – crie um personal access token no VSTS
  • 16. TeamCity – Build steps Dicas: ◦Use “runners” específicos sempre que possível ◦Plugins! ◦Log e status mais integrado ◦Fique atento ao “execute step” escolhido ◦Alguns “runners” não causam falha do ‘step’ ◦Ex: Testes (Nunit, MSTest, etc) ◦Use “Only if build status is successful” nestes casos
  • 17. TeamCity – Triggers Dicas: ◦VCS Trigger – filtre pastas de acordo com seu pipeline ◦Ex: somente código precisa de build e testes ◦VCS Trigger – filtre branches de acordo com seu pipeline ◦Ex: package Nuget só deve ser gerado do master ◦Finish Build Trigger - conecte steps de um pipeline ◦Scheduled Trigger – gere ‘nightly builds’
  • 18. TeamCity – Saindo do básico General Settings ◦Salve artefatos produzidos no build ◦APKs, Nuget Packages, relatórios de testes, screenshots, etc ◦Podem ser usados nos próximos build do ‘pipeline’ ◦Use o status widget no README do projeto ◦ https://teamcity.takenet.com.br/httpAuth/app/rest/builds/buildT ype:(id:Lime_Master)/statusIcon
  • 19. TeamCity – Saindo do básico Version Control Settings ◦Limpe todos os arquivos antes do build ◦Mesmo efeito de ‘git clone’ a cada build ◦Só desabilite se o tempo de transferencia impactar ◦Mostre as mudanças vindas de builds dependentes ◦Maior transparência em um ‘pipeline’
  • 20. TeamCity – Saindo do básico Build Steps ◦Adicione cobertura de código ◦ Runners de testes (.NET) e gradle (Java) possuem integração ◦ Pode impactar testes que dependem de tempo ◦Adicione inspeções de código ◦ FxCop, Resharper Inspections, Duplicates, outros via plugin ◦Copie steps entre projetos ◦Desabilite steps para testes/melhorias
  • 21. TeamCity – Saindo do básico Failure Conditions ◦Falhe o build de acordo com métricas ◦ Ex: cobertura reduziu, tamanho de um artefato aumentou Build Features ◦Altere o AssemblyInfo para casar com o build number ◦Crie uma tag no repositório em caso de sucesso ◦ Muito útil principalmente ao gerar releases
  • 22. TeamCity – Saindo do básico Dependencies ◦Configure o ‘pipeline’ (chamado Build Chain) ◦Usará o mesmo commit em cada build step do ‘pipeline’ ◦Permite visualizar o ‘pipeline’ para cada número de versão ◦Copie artefatos gerados em builds anteriores do ‘pipeline’
  • 23. TeamCity – Saindo do básico Parameters ◦Adicione detalhes de configuração de steps ◦Explícito, em um único lugar ◦Ex: Usuário, senha, URL, Major version, etc ◦Inclua variáveis de ambiente ◦Utilizadas por exemplo com NodeJS e .NET Core
  • 24. TeamCity – Saindo do básico Agent requirements ◦Limite quais agentes possuem recursos específicos ◦ Ex: acesso a redes externas (VPNs, rede pública) ◦ Ex: recursos licenciados (Xamarin, Delphi) ◦Idealmente todos os agentes têm os mesmos recursos
  • 25. TeamCity – Saindo do básico Investigations ◦Permite declarar a responsabilidade em resolver um ‘build quebrado’ ◦Comunicação interna também funciona bem ;)
  • 26. TeamCity – Saindo do básico Notificações ◦Email ◦ IMPORTANTE: configure corretamente seu usuário ◦Diretamente nas IDEs (VS, IntelliJ/AS) ◦Feed RSS, Windows Tray ◦Slack (plugin) ◦Webhooks (plugin)
  • 27. TeamCity – Saindo do básico Notificações ◦Casamento de username configurável por repositório/projeto ◦Regras de notificações ◦ Somente falhas causadas por mim ◦ Somente sucesso após falha
  • 28. TeamCity – Saindo do básico Pre-tested commit ◦Garante que todos commit está livre de falhas ◦Submete mudanças para serem executadas ANTES de serem ‘commitadas’ ◦ Em caso de sucesso, faz merge das alterações ◦Requisitos: ◦ Somente com integração pela IDE (VS e IntelliJ/AS) ◦ Git ainda não é (bem) suportado
  • 29. TeamCity – Exemplos de pipelines GitFlow ◦1. CB (Auto) – build and unit tests ◦ todos os branches ◦2. Acceptance tests (Auto) ◦ develop, master e releases apenas ◦3. Deploy Hmg (Manual) ◦ releases apenas ◦4. Deploy Prod (Manual) ◦ master apenas
  • 30. TeamCity – Exemplos de pipelines Master only ◦1. CB (Auto) – build e unit tests ◦todos os branches ◦2. Acceptance tests (Auto) ◦develop e master apenas ◦3. Deploy (Manual) - gera package para Octopus ◦master apenas
  • 31. Referências e material adicional TeamCity User Guide (canal official JetBrains) ◦ https://www.youtube.com/watch?v=dmGa6_4OXdo TeamCity Documentation ◦ https://confluence.jetbrains.com/display/TCD9/Creating+and+Editi ng+Build+Configurations Ícone com interrogação em toda a interface Web ◦ Remete à documentação, para aquele contexto

Notes de l'éditeur

  1. Isto pode ser feito manualmente – e até individualmente. Mas como tudo q toma muito tempo (seja por acontecer repetidamente ou por ser longo), deve ser automatizado!
  2. Pode funcionar como repositorio Nuget
  3. Projetos e subprojetos, básico de build steps e triggers – ver roteiro!
  4. Prefixo somente se mais de uma configuraçao for usada; sufixo somente se houver diferentes tipos de trigger
  5. Ver roteiro apos falar do “Execute step”
  6. VCS Trigger – ver roteiro