integração contínua com hudson ci

30
Integração Contínua Integração Contínua Hudson CI Hudson CI http://www.fickr.com/photos/heartheart/4027420686/ http://www.fickr.com/photos/heartheart/4027420686/ Almir M3nd3s @m3nd3s almirmendes.com Francisco Souza @franciscosouza franciscosouza.com

Upload: almir-m3nd3s

Post on 18-Jan-2015

1.989 views

Category:

Documents


0 download

DESCRIPTION

Palestra sobre integração contínua com Hudson exemplificando com os projetos utilizados na Giran.Palestra ministrada por Almir Mendes e Francisco Souza

TRANSCRIPT

Page 1: Integração contínua com Hudson CI

Integração ContínuaIntegração ContínuaHudson CIHudson CI

http://www.fickr.com/photos/heartheart/4027420686/http://www.fickr.com/photos/heartheart/4027420686/

Almir [email protected]

Francisco Souza@franciscosouza

franciscosouza.com

Page 2: Integração contínua com Hudson CI

Quem é Hudson?Quem é Hudson?O que ele faz?O que ele faz?

http://www.fickr.com/photos/jed_fsh/4956357898/

Page 3: Integração contínua com Hudson CI

Por que usamos o Hudson?

http://www.fickr.com/photos/abbot45/187640227/

Page 4: Integração contínua com Hudson CI

Passo 1 – A instalaçãoPasso 1 – A instalação

Page 5: Integração contínua com Hudson CI

Passo 2 – Confgurando o ambiente

Page 6: Integração contínua com Hudson CI

SSH Keys

PROJECT_SSHKEY=${HOME}/.ssh/${JOB_NAME}

Page 7: Integração contínua com Hudson CI

Git hooksGit hooks

http://www.fickr.com/photos/lorenjavier/3997921584/

Page 8: Integração contínua com Hudson CI

Build remoto

Page 9: Integração contínua com Hudson CI
Page 10: Integração contínua com Hudson CI

$ git push

\o/~ø~

Page 11: Integração contínua com Hudson CI

RubyRuby

http://www.fickr.com/photos/42429527@N03/5106694318/

Page 12: Integração contínua com Hudson CI

RVMRVMRuby Version ManagerRuby Version Manager

Page 13: Integração contínua com Hudson CI

Gems

rspecrspec

rspec-railsrspec-rails

ci_reporterci_reporter

capybaracapybara

seleniumselenium

selenium-clientselenium-client

simplecovsimplecov

simplecov-rcovsimplecov-rcov

http://www.flickr.com/photos/afternoon_sunlight/134987402/

Page 14: Integração contínua com Hudson CI

Rakeflenamespace :hudson do task :spec => ["hudson:setup:rspec", 'db:migrate', 'rake:spec']

namespace :setup do task :pre_ci do ENV["CI_REPORTS"] = 'hudson/reports/spec/' gem 'ci_reporter' require 'ci/reporter/rake/rspec' end task :rspec => [:pre_ci, "ci:setup:rspec"] endend

Page 15: Integração contínua com Hudson CI

rvm use 1.9.2 && bundle install && rake db:migrate db:test:prepare

default && rake hudson:spec

Page 16: Integração contínua com Hudson CI

PythonPython

http://www.fickr.com/photos/michaelransburg/4587694386/http://www.fickr.com/photos/michaelransburg/4587694386/

Page 17: Integração contínua com Hudson CI

$ make build

http://www.fickr.com/photos/arenamontanus/2605742044/

Page 18: Integração contínua com Hudson CI

http://www.fickr.com/photos/expressmonorail/2695634651/

nose

Page 19: Integração contínua com Hudson CI

$ nosetests --nocapture --verbose $ nosetests --nocapture --verbose --where=tests –with-coverage--where=tests –with-coverage

--cover-package=giran –with-xunit--cover-package=giran –with-xunit--with-gae --gae-application=.--with-gae --gae-application=.

$ coverage xml –rcfle=.coveragerc$ coverage xml –rcfle=.coveragerc

$ pep8 giran | sed 's/: /: [W] /' > pep8.txt$ pep8 giran | sed 's/: /: [W] /' > pep8.txt

Page 20: Integração contínua com Hudson CI

$ nosetests --nocapture --verbose $ nosetests --nocapture --verbose --where=tests –with-coverage--where=tests –with-coverage

--cover-package=giran –with-xunit--cover-package=giran –with-xunit--with-gae --gae-application=.--with-gae --gae-application=.

$ coverage xml –rcfle=.coveragerc$ coverage xml –rcfle=.coveragerc

$ pep8 giran | $ pep8 giran | sed 's/: /: [W] /'sed 's/: /: [W] /' > pep8.txt > pep8.txt

Que bonito!

Page 21: Integração contínua com Hudson CI
Page 22: Integração contínua com Hudson CI

Relatórios

Page 23: Integração contínua com Hudson CI

Test Result Trend

Page 24: Integração contínua com Hudson CI

Code Coverage

Page 25: Integração contínua com Hudson CI

Violations Report

Page 26: Integração contínua com Hudson CI

Build History

Page 27: Integração contínua com Hudson CI

Notifcação de build Notifcação de build quebradoquebrado

http://www.fickr.com/photos/krisnfred/320075682/http://www.fickr.com/photos/krisnfred/320075682/

Page 28: Integração contínua com Hudson CI
Page 29: Integração contínua com Hudson CI

E o galaxy?!

Page 30: Integração contínua com Hudson CI

Hmm... adequado!

Obrigado!

Almir [email protected]

Francisco Souza@franciscosouza

franciscosouza.com

hudson-ci.org