Continuous Integration

Update: be sure to check out our SOA SDLC series too.

Update: new Maven support added in Fusion Middleware 12.1.2 – read about it here, and see demonstrations for WebLogic Server and Coherence.

Continuous Integration is a software engineering practice which attempts to improve quality and reduce time to deliver software by applying small, frequent quality control efforts.  It is characterized by these key practices:

  • Use of a version control system
  • All developers commit to the ‘HEAD’ (main code line) every day
  • The product is built on every commit
  • The build must be automated and fast
  • Automated deployment to a production-like environment
  • Automated testing
  • Results of all builds are published (so everyone can see who broke the build)
  • Deliverables are easily available (for developers, testers, other stakeholders)

Many customers are interesting in using Continuous Integration in their Oracle Fusion Middleware environments.  We have a small selection of posts listed below, but we are actively working on adding more content in this area.

We will be focusing our samples and articles around the use of Hudson, Maven and Subversion intially, however you can probably take the content here and apply it to other tools without too much effort.  We are planning to expand our coverage to include some alternatives and also additional components you might want in your continuous integration environment.

Getting Started with Continuous Integration for Oracle Fusion Middleware

These articles are to help you get started… they are not necessarily meant to show the best practices – see below for some comments on that.

Before you ask – yes, we know that there are some things hardcoded in there, like server names for example.  We will address that in later articles when we start to look at parameterization of the build.

We have a lot more content coming soon… including coverage of other products, like WebCenter, ADF, and OSB.

Moving towards best practices

Coming soon – some articles on moving from the ‘getting started’ phase above – which is focused on just getting things working – to something more inline with ‘best practices.’

To be included in this section, discussion of topics like:

  • What a Maven Repository Manager is, why you need one, and how to set one up,
  • How to get your Oracle-provided JAR artifacts into your Maven environment,
  • What archetypes are, why you might want them and how to create them,
  • How to manage CI for large (multi-project) applications,
  • A bunch of important stuff to understand about SNAPSHOTs,
  • Branching strategies for source code management,
  • Parameterising your builds to target different environments,
  • Other things you might want to do with Maven/CI – like test coverage, quality assurance, enforcing best practices, naming standards, etc.

8 Responses to Continuous Integration

  1. Pingback: Continuous Integration with SCA Tests | RedStack

  2. Pingback: Getting started with Continuous Integration for SOA projects | RedStack

  3. Pingback: Extending Continuous Integration to include Human Task UI projects | RedStack

  4. wright2matt says:

    Great series of posts, we have been doing a lot of work with Continuous Integration, combining both SCA components and OSB. We have just started to write a series of blogs about what we are doing. The first of which can be found here http://www.rubiconred.com/blog/continuous-delivery-or-putting-agility-back-into-soa/

  5. Pingback: Getting started with Continuous Integration for OSB | RedStack

  6. Pingback: Unit Testing Asynchronous BPEL Processes Using soapUI | RedStack

  7. Great topics!
    Is an article planned for covering the integration of SDLC & CI with Oracle Enterprise Repository ?
    thanks,
    Matt

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s