Discussions

News: How to build a Java buildserver

  1. How to build a Java buildserver (3 messages)

    For those of you who haven't ever used or even heard about buildservers, let me explain what they are and what they offer. Without a buildserver, you probably only use two tools in your development infrastructure: your IDE, such as Eclipse, IntelliJ or NetBeans and a version control system (VCS), such as CVS, SVN or GIT. Everyone checks in their code into the VCS at the end of each day and when the application is done, the lead developer builds the deliverables with his/her IDE and emails it to the server admins who install it on the servers. This could work very well in a small environment with only a few developers sitting in the same room, but when things get bigger and more complicated, the following problems arise:

    • There is no uniform way to build the final deliverables, because the local environment of the lead developer may change
    • Every developer must copy dependencies to his/her PC, leading to problems when different versions of dependencies are used
    • There is no uniform way to test the application. Unit-tests are run locally, making them dependent on the local PC environment
    • There is no way to automatically deploy the deliverables to a Development, Test or Production environment
    • You have no way of customizing the build-process of the deliverables. You could write some Ant-scripts, but they would probably only work on the PC on which the deliverables are built
    • You don't have statistics on the code, such as test coverage, bug-reports (such as PMD, Checkstyle or Findbugs) or metrics (such as JDepend)

    A buildserver offers a centralized component in the infrastructure that can build and analyze the deliverables, manage the dependencies and deploy the deliverables to the servers.

    Read more:

    http://www.zenbi.nl/en/blog_how_to_build_a_java_buildserver.php

    Threaded Messages (3)

  2. holy cow[ Go to top ]

    So much TEXT!

    The article could have been summarized more efficiently like this:

    1. Get a source code repository of some kind; hg rocks.
    2. Install hudson.
    3. Profit.
  3. Re: holy cow[ Go to top ]

    Thanks for your response!

    I know I an quite verbose, but I wanted to give my readers a little more insight on how to achieve maximum profit from a buildserver and what consequeces certain choices have on your development infrastructure. Just "Install version control and Hudson" is a little too easy for me. Then you have just 2 tools, not a well-designed server...

    --GertJan

  4. Good to know[ Go to top ]

    Hi,

    Your detailed note was good... not everyone understands the problems created by the modern software development with incomplete de-centralized environments and toolsets..