Skip to main content

Hudson or Jenkins for me?

We have been faced with the choice of going with Hudson or Jenkins as our CI enviroment for our ADF build.

Hudson
Oracle backed Sonatype supported. More structured.


Jenkins
More OSS style, larger comunity majority of the orginal developer community.

Really very similar.

Guess the safest thing to do is go with Hudson and upgrade to Jenkins if need be. So we will be going with Hudson, head decision not heart decision. This is also consistent with the ADF community.



Links :http://jaxenter.com/oracle-speak-out-on-hudson-jenkins.1-34569.html
http://bobbickel.blogspot.com/2011/03/jenkins-vs-hudson-time-to-upgrade.html
http://jenkins-ci.org/content/about-jenkins-ci
http://hudson-ci.org/docs/process_summary.html
http://groups.google.com/group/adf-methodology/browse_thread/thread/f4c4f616d5520166?pli=1

Comments

  1. How is Hudson working for you?

    Was it the right decision?

    ReplyDelete
  2. Hudson does everything we need it to, I am not to fond of the caching refreshing issues that I am having with it (to use Teamcity again would be great) but all in all so far so good.

    ReplyDelete
  3. Look here.

    http://adfpractice-sokol.blogspot.com/2012/06/adf-application-jenkins-websphere.html

    ReplyDelete

Post a Comment

Popular posts from this blog

ADF sort of generic screen for tables with the same structure

We have a couple (about a hundred) of tables with the same structure (Code, Description, Create Date, Update Date). So I wanted to do something simple so that I did not have to create all these screens 1) EO   I created the EO based on one of the tables I had that had the above columns. I then Added a transient attribute called table name to my EO based on a groovy expression. (the expression needs to change as I am reading web tier stuff from the model layer but I will fix this later) I then generated a java class for my EO. And added the following overriden method to my newly created java class. protected StringBuffer buildDMLStatement(int i, AttributeDefImpl[] attributeDefImpl,   AttributeDefImpl[] attributeDefImpl2, AttributeDefImpl[] attributeDefImpl3, boolean b) {   StringBuffer statement = super.buildDMLStatement(   i, attributeDefImpl, attributeDefImpl2, attributeDefImpl3, b); return new StringBuffer(StringUtils.replace(statement.to...

MANIFEST.MF merge JDeveloper for an executable jar

Goto your project > properties. Then click on deployment in the menu. Edit or add a jar deployment profile. Fill in the details under jar options (select Include manifest and give it a main class name) Also remember that the merge functionality only works with a BLANK line at the end of the merge file. REALLY this caught me. My merge file contents: Class-Path: commons-codec-1.3.jar [...empty line here CRLF...]

Util code

public static MethodExpression getMethodExpression( String expr, Class returnType, Class[] argTypes){ FacesContext fc = FacesContext.getCurrentInstance(); ELContext elctx = fc.getELContext(); ExpressionFactory elFactory = fc.getApplication().getExpressionFactory(); return elFactory.createMethodExpression( elctx, expr, returnType, argTypes); } public static javax.faces.el.MethodBinding getMethodBinding( String expr, Class[] argTypes){ FacesContext fc = FacesContext.getCurrentInstance(); ELContext elctx = fc.getELContext(); return fc.getApplication().createMethodBinding(expr, argTypes); } SetPropertyListener listener = new SetPropertyListener( ActionEvent.class.getName()); listener.setFrom(link.getRoute()); listener.setValueExpression("to", JSFUtils.getValueExpression("#{pageFlowScope.route}", String.class)); action.addActionListener(listener); AdfFacesContext.getCurrentInstance().getPageFlowScope() .put("route", lin...