integração contínua com o jenkins para aplicações .net

Post on 13-Dec-2014

4.155 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Integração Contínua com o Jenkins para Aplicações .NET por Bruno Lopes

TRANSCRIPT

Integração Contínua com o HudsonJenkins para Aplicações .NET

Bruno Lopes

http://netponto.orgReunião Presencial - 12/02/2011

Patrocinador desta reunião

Bruno Lopes

1980 1985 1990 1995 2000 2005 2010

Chart Title

Integração Contínua

Agenda

• O que é Integração Contínua (IC)• Jenkins• Demo• Boas práticas• Passos seguintes

O que é Integração Contínua (IC)

“Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible.”

Martin Fowler

Típica arquitectura usado um servidor de IC

Source Control

Servidor IC

Build Scripts

User

1- Commit

2 - Poll forChanges

Reports4 - Output5.1 - Notify Failures

Install Packages

Servers

5.2 - Deploy to3 - Build and Test

Implementações de servidores de IC

Open Source / Free

Scheduled Tasks Jenkins

CruiseControl.Net

Comerciais

TeamCity Cruise

TFS

O que é Jenkins

• Servidor de IC• Feito em java• Simples• Extensível• Configuração via web– Mas com suporte para linha de comandos

Exemplos de SCM suportados

• SVN• Git• Mercurial• SourceSafe• ClearCase

Build scripts

• Batchfiles• Powershell– Psake

• MSBuild• NAnt• Rake• Scons• FinalBuilder

Plugins Hudson – 1 Ano Atrás

Plugins Jenkins – Esta semana

Como Começar

• 1 PC (ou VM)• 1 Project.sln• 1 Jenkins• 1 Source Control System

Jenkins + SVN

demonstração

Material Usado

• Windows Server 2003• Project.sln• Jenkins• Slik-SVN• Windows SDK 6.1• Java Runtime Environment• notepad2

Boas práticas

• Não deixar builds quebradas• Toda equipa responsável pelo build process• Information Radiator• Manter build rápida

Gráficos “de borla”

Passos de um build script

• Limpar directorias de output (garantir que se trabalha numa estrutura limpa)

• Actualizar/Construir base de dados• Compilar código• Correr testes automáticos• Calcular coverage de testes automáticos• Produzir relatórios• Criar packages de instalação/actualização

Aprendizagens pessoais

• IC é tanto uma prática técnica como social• Email on fail, not on success• Do it early

Próximos Passos

• Process– Phased build– Continuous Deployment– Build slaves

• Build– Run tests– Deploy database– Test coverage

Questões?

ReferênciasJenkins

– http://Jenkins-ci.org/

SlikSvn– http://www.sliksvn.com/en/download

Continuous Integration, Martin Fowler– http://martinfowler.com/articles/continuousIntegration.html

Continuous Deployment at IMVU– http://timothyfitz.wordpress.com/2009/02/08/continuous-deployment/– http://

timothyfitz.wordpress.com/2009/02/10/continuous-deployment-at-imvu-doing-the-impossible-fifty-times-a-day/

Patrocinador desta reunião

Obrigado!

Bruno Lopesbrunomlopes@gmail.comhttp://www.brunomlopes.comhttp://twitter.com/brunomlopes

top related