Hi Mark
"I did notice that the instructions told people to install Maven and
Git plugins"
You'll be seeing more of this in the near future as we've committed to
making Maven a first class citizen in building applications, and Git
is planned for integration in a future build (I can't be more specific
but let's just say soon). On the Maven front however, ojdeploy will
remain a key solution in the overall mix (hmmm, odd, I can hear teeth
gnashing from somewhere?). Note OEPE currently doesn't use ojeploy,
so if you're using the mix of ADF features that OEPE does provide it
might be a better choice considering your other quality metric/static
code analysis needs.
"This seems really odd to put the JUnit tests in a different project"
Broadly speaking the tutorial is a "how to" rather than "best
practices" (though the overall goal is about introducing tools for
best practices if you get my drift). Arguably though the Maven
convention is a preference, not an industry standard. So follow
whichever convention you prefer and rework the tutorial instructions
for your own use.
"In the past I've had a lot of problems with developments which build/
run fine on the embedded WLS but not when exported out to be deployed
on a 'real' WLS installation."
My preference here is the build mechanism for your ADF applications on
your developer's PCs should be exactly the same as that for the CI
server. I think maintaining two build solutions just means two times
the trouble. However in order to do this you need to standardize your
developer PC setup to be the same as your CI server (in terms of where
JDev is located, where the code is checked out etc) .... which is a
bit of a pain, but stops developers creating a mess on their PCs *and*
makes them understand the build mechanism so they can help out when it
blows up (at 1am just before the early morning demo as you say ;-)
"So I've found it's important to test that you can actually produce a
working EAR file regularly"
I can't agree with this enough, good advice. I guess that's the
difference between sanity builds, and builds for deployment. The book
"Jenkins: the Definitive Guide" by John Ferguson Smart has a good
section entitled "Chapter 1.6 Introducing Continuous Integration into
Your Organization" which ranks 7 phases/types of builds your
organization should undertake to squeeze all the benefits out of a CI
engine (Think of it as a CI maturity model). Whether you agree with
all the points or not, it's a good read to open your eyes to what your
organization should be thinking about and the benefits to derive from
a CI server. FYI the book can be downloaded for free as a PDF:
http://bit.ly/N9g5gJ
Regards,
CM.