Grails hudson ixxus_template

770 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
770
On SlideShare
0
From Embeds
0
Number of Embeds
128
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Grails hudson ixxus_template

  1. 1. Grails & Hudson<br />Lean Java Engineering<br />Robin Bramley<br />October 2010<br />1<br />
  2. 2. About me<br />A hands-on Senior Architect at Ixxus<br />Working on Grails & Alfresco projects<br />Worked for consultancies for the last 12 years<br />Lead Architect on Virgin Money Giving – a finalist in the BCS 2010 Awards<br />Technical Architect on several phases of the award winning ConCert programme at Aon<br />Contributions to a wide range of Open Source projects including adding OpenID support to Spring Security<br />14 years Java, 5 years Spring/Hibernate, 4 years Groovy, 3 years Grails, 2 years Hudson...<br />
  3. 3. Continuous Integration<br />“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. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly.” – Martin Fowler<br />
  4. 4. Why is CI needed?<br />It works on my machine<br />Oops, I forgot to run tests before that check in...<br />I’ll just check my work in before I go home...<br />It helps to encourage better developer behaviour<br />
  5. 5. Andon lights<br />
  6. 6. Extreme feedback<br />
  7. 7. Ownership of issue<br />Reproduced with permission<br />
  8. 8. Why Hudson?<br /><ul><li>Open Source
  9. 9. Award winning
  10. 10. Easy to use:
  11. 11. Distributed as a Java war-file
  12. 12. SCM support
  13. 13. Build tool support
  14. 14. Post build actions
  15. 15. Notifications
  16. 16. Easy to extend with plug-ins
  17. 17. Collates trend statistics</li></li></ul><li>Why Hudson (for the Enterprise)?<br /><ul><li>Can integrate with LDAP for authentication/authorisation
  18. 18. Supports master/worker for scale-out
  19. 19. IDE plug-ins available (e.g. )
  20. 20. Remote accessAPI
  21. 21. Commercial support option from</li></li></ul><li>What will we see?<br />SCM integration<br />Polling for changes<br />Check out<br />Tagging<br />Testing<br />Unit / integration tests<br />Functional tests<br />Analysis<br />CodeNarc<br />Cobertura<br />Automated deployment<br />
  22. 22. Process overview<br />1. Test locally (automated & manual)<br />2. Check in<br />3. Hudson polls the code repo<br />4. Hudson triggers job<br />5. Hudson checks out code<br />6. Hudson compiles & tests code<br />7. Hudson builds war<br />8. Hudson deploys war<br />9. Hudson tags the build<br />
  23. 23. Demo<br />
  24. 24. Questions?<br />Robin Bramley<br />Blog: http://leanjavaengineering.wordpress.com<br />Twitter: @rbramley<br />LinkedIn: http://uk.linkedin.com/in/rbramley<br />

×