Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Build Automation
Joel NationSolution ArchitectOracle Canberra
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 2
The Problem
Code
Targets
Build Configurations
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 3
The Problem
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 4
The Problem
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 5
The Solution• Build Automation with Hudson
Trigger
Build
Deploy
Notify
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 6
In Continuous Integration
Local WLS
Temp WLSCompileCreate WLSCreate DomainDeployTestUndeployRemove DomainUninstall
Version Control System
?
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 7
In Continuous Integration
Local WLS
Temp WLSCompileCreate WLSCreate DomainDeployTestUndeployRemove DomainUninstall
Version Control System
Build Automation
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 8
Hudson• Open-source build automation server• Emphasis on ease of installation and use– “yum install hudson”– Configure everything from the browser
• Extensibility– Hundreds of community developed plugins –Maven, Git, Archiva, Artifactory etc
• Used by thousands of customers
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 9
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 10
Sidenote: Hudson & Jenkins• Hudson was an open-source project sponsored by Sun• Jenkins was forked (2011) from Hudson by the
community after Oracle acquired Sun • Oracle moved Hudson to the Eclipse Foundation in 2012• Code base is the same, differences in plugins etc. • Jenkins – larger community, Hudson – Oracle preferred
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 11
Common use cases• Monitor SCM for change (Git, Subversion etc)• Monitor changes in artifact repository (Archiva, Artifactory etc)• Deploy to test VM, run tests and report to users• Run Tests (Selenium, JUnit)• Run code quality tools (Sonar, Squale etc)• Trigger other builds (send artifacts downstream, integrate solutions etc)• Generate documentation• Can be used to build SOA Suite apps (in 12c)
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 12
Hudson Demo
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 13
More Resources• Our blog: ofmcanberra.wordpress.com• Redstack blog: redstack.wordpress.com• Official Oracle documentation:
docs.oracle.com/middleware/1212/core/MAVEN/config_hudson.htm#MAVEN8854