Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 915063
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 15, 20262026-05-15T17:49:29+00:00 2026-05-15T17:49:29+00:00

Our build/deploy process is very tedious, sufficiently manual and error-prone. Could you give proposals

  • 0

Our build/deploy process is very tedious, sufficiently manual and error-prone. Could you give proposals for improvement?

So let me describe our deployment strategy and build process.
We are developing system called Application Server (AS for short). It is essentially servlet-based web application hosted on JBoss Web server. AS can be installed in two “environments”. Each environment is a directory with webapp’s code. This directory is placed on network storage. Storage is mounted to several production servers where JBoss instances are installed. Directory is linked to JBoss’ webapps directory. Thus all JBoss instances use the same code for environment. Configuration of JBoss is separate from environment and updated on per instance basis.

So we have two types of patches: webapp patches (for different environments) and configuration patches (for per instance configuration)

Patch is an executable file. In fact it is bash script with embedded binary rpm package. Installation is pretty straight-forward: you just execute file and optionally answer some questions. Important point is that the patch is not a system as a whole – it contains only some classes with fixes and/or scripts that modify configuration files. Classes are copied into WEB-INF/classes (AS is deployed as exploded directory).

The way we build those pathes is:

  1. We take some previous patch files and copy them.
  2. We modify content of patch. The most important part of it is RPM spec. There we change name of patch, change its prerequisite rpm packages and write down actual bash commands for backing up, copying and modifying files. This is one of the most annoying parts because we not always can get actual change-set. That is especially true for new complex features which are spanned among multiple change requests and commits. Also, writing those commands for change-set is tedious and error-prone.
  3. For webapp patches we also modify spec for other environment. Usually they are identical excepting rpm package name.
  4. We put all rpm related files to VCS
  5. We modify build.xml by adding a couple of targets for building new patch. Modification is done by copypasting and editing.
  6. We modify CruiseControl’s config by copypasting project and changing ant targets in it
  7. At last, we build a system

Also, I’m interested in any references on patch preparation and deployment practices, preferably for Java applications. I haven’t succeed googling that.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-15T17:49:30+00:00Added an answer on May 15, 2026 at 5:49 pm

    The place I work had similar problems, but perhaps not as complex.

    We responded by eliminating the concept of patch altogether. We stopped patching, and started simply installing the whole app (even if we do a just a small change).

    We now have Cruise Control build complete install kits that happen to contain the build timestamp in the install-kit name. This is a Cruise Control build artifact.

    Cruise Control autoinstalls them on a test server, and runs some automated smoke tests. We then run manual tests on the test server. Then we install the artifact on a staging, then production server.

    Getting rid of patching caused some people to splutter, “isn’t that wasteful if you’re just changing a couple of things?” and “why would you overwrite all the software just to patch something?”

    But the truth is that good source control, automated install-kit building, and one-step installation has saved us tons of time. It does take a few seconds longer to install, but we can do it far more repeatedly and with less developer labor.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Our build process uses Visual Studios 2003 link.exe for linking. On one machine we're
During our build process we run aspnet_compiler.exe against our websites to make sure that
As part of our build process we run a database update script as we
How can we make our build process (Dev Studio 2005) for a .NET project
Our build server is taking too long to build one of our C++ projects.
Our build is dog slow. It uses nested gnu makefiles on linux. It creates
Our build is annoyingly slow. It's a Java system built with Ant , and
On our build server, we've installed the .NET Framework 2.0 SDK in order to
We have TFS 2008 our build set up to checkout all AssemblyInfo.cs files in
We were having a problem with our build server not checking out modifications from

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.